Swiftpack.co - Swift Packages by dehesa

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by dehesa

dehesa/CodableCSV 0.6.7
Read and write CSV files row-by-row or through Swift's Codable interface.
⭐️ 432
🕓 2 years ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Xcode 13 support and `standard` row delimiter
2 years ago
- Xcode 13 has been supported by raising the iOS requirements to iOS 11. The library still supports iOS 7+, but the SPM now defines iOS 11+. If you want to support older OSes, modify the SPM manifest. - Support for more than one row delimiter (e.g. for the standard `\r\n` and `\n`) at the same time. `CSVReader` will end a row when one of the row delimiters is encountered. Use just one row delimiter for better performance.
Stricter parsing
3 years ago
- `CSVReader` and `CSVDecoder` are now "stricter" while parsing CSV data. Now errors are thrown when encountering ill-formed rows, instead of just finishing the parsing process (#34). - `CSVReader` and `CSVDecoder` ignore empty lines. Usually encountered at the end of a file. - Minor enhancements on documentation.
Second batch of performance enhancements
3 years ago
- `CSVWriter` encoder is faster for UTF8 encodings. - Shift-JIS encoding is now supported (#29). - `CSVEncoder` and `CSVDecoder` have experienced major speed ups, due to drops on unnecessary retains/releases.
Optimizations & decodeIfPresent
3 years ago
- The first batch of optimizations have landed. - Fix for floating-point encoding/decoding (#20) - Change `decodeNil()` behavior to more closely follow the documentation. - `decodeIfPresent` can now be safely used.
Lazy Row Encoding
3 years ago
- Both `CSVEncoder` and `CSVDecoder` now support _lazy_ functionality. - The _lazy_ API has been renamed to be as similar as possible in the encoder/decoder. - `README` has been expanded with more examples.
Top Level Codecs & InputStream Support
3 years ago
- `CSVEncoder`/`CSVDecoder` adopts `TopLevelEncoder`/`TopLevelDecoder` when Combine is present. - `CSVReader` and `CSVDecoder` now also accept `InputStream`s. The introduction of this feature allows easier usage of `CodableCSV` by Command-line applications reading information from the `.standardInput` (i.e. `stdin`). - Most errors thrown by `CodableCSV` functions are now `CSVError`s. All `CSVError`s include the failure reason and provide help cues to avoid said problem. - Documentation has been expanded to cover all public and internal functionality.
Lazy Row Decoding
4 years ago
- `CSVDecoder` now supports *on demand* (lazy) decoding. - New encoding/decoding configuration strategies have been added.
CSVEncoder, Buffer Strategies & API Refining
4 years ago
- A full-fledge `CSVEncoder` has finally been implemented. Full support for `Codable` has been achieved. You can now use keyed, unkeyed and single value containers when neeeded. - `CSVEncoder` and `CSVDecoder` support for different buffering strategies. This translates in less memory usage for [sequential or *assembled*](https://github.com/dehesa/CodableCSV/blob/master/sources/Codable/Encodable/EncoderConfiguration.swift#L99) runs. - `CSVReader`/`CSVWriter` API have been renamed to match `CSVEncoder`/`CSVDecoder` API.
Linux Support & Custom Escaping Scalars
4 years ago
- Custom escaping scalars are supported thanks to @josh (#13). This includes the ability to disable escaping functionality on parsing or serializing CSVs. - Linux is officially supported. All tests now also run on Linux (Ubuntu 18.04) through Github actions. - Trim strategy now throws an error at initialization when it contains delimiter characters or escaping scalars. - The repo now provides not only a [high-level roadmap](https://github.com/dehesa/CodableCSV/projects), but also a [detailed plan](https://github.com/dehesa/CodableCSV/projects) on which features are being worked next.
Greater Performance & Easier Debugging
4 years ago
- Expand input/output support to `Data`, `String`, and files (through `URL`s). - Reimplemented `CSVReader` and `CSVWriter` for greater performance. - Introduction of `CSVError` adopting SE-112 protocols for easier debugging. - Make `Decoder` fully immutable. - Expand tests on `CSVReader`, `CSVWriter`, and `CSVDecoder`. - OS requirements reduced to macOS 10.10, iOS 8, tvOS 9, watchOS 2. - First trials on Linux. - Fixed bug on trim character strategy.
iOS macOS watchOS tvOS
dehesa/Conbini 0.6.2
Publishers, operators, and subscribers to supplement Combine.
⭐️ 139
🕓 2 years ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
AsyncMap removal
3 years ago
This update is small and straightforward: - `asyncMap` & `asyncTryMap` have been removed since they don't play nicely with Combine's backpressure mechanisms. - Some minor tweaks and warnings have been fixed for Xcode 12.
Minor tweaks & performance optimizations
4 years ago
Better Backpressure & Custom Subscribers
4 years ago
This release includes two new useful custom subscribers and a bunch of interesting operators: - `retry` on delayed intervals. - `handleEnd` to clean up resources in any completion case (i.e. successful/failure completion or cancellation). - `sink` using the new custom subscribers. Also, there is better support for backpressure all around the framework. Many operators/publishers now accept optional "demand" related parameters and work great with standard backpressure mechanisms (such as `buffer`).
Enhanced FlatMaps & Standard Naming For Deferred Publishers
4 years ago
The sequential flatMap operator/publisher has been re-engineered to accept a `transform` closure, making it much more useful.
Conbini For Testing
4 years ago
Conbini has been separated into two products: - `import Conbini` for regular usage in your framework or application. - `import ConbiniForTesting` including the testing conveniences (which depend on `XCTest`).
First Release
4 years ago
Initial release gathering the first batch of publishers/subscribers.
iOS macOS watchOS tvOS
dehesa/IG 0.12.0
Interface to IG public APIs & Streaming service.
⭐️ 7
🕓 3 years ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Deals & Lighstreamer fixes
3 years ago
- The `API.Activity` and `Streamer.Deal.Update` payloads have been modified to be similar to `API.Position`, `API.WorkingOrder`, and `API.Confirmation`. - Bundeling Lighstreamer binaries in an `.xcframework` produced some incompatibilities on the underlying ObjC calls. Those have now been fixed and all `Streamer` subscriptions should work now. - Deal limits and stops now have better behavior.
iOS & tvOS support
3 years ago
The `Lighstreamer.xcframework` has been updated to the 2.1.3 version (which fixed a bug that could stall the connection). Additionally the xcframework now bundles macOS, iOS, and tvOS. It is worth noticing that macs with ARM64 architectures are not yet supported.
SPM support
3 years ago
- The framework can now be added through SPM. - The Lighstreamer binaries are packaged in `.xcframework` (required by SPM).
Better Lighstreamer support
3 years ago
The major improvement in this release is the `Streamer` instance, which has been rewritten for better performance and more functionality. - The `Streamer` internal (i.e. `Streamer.Channel` and `Streamer.Subscription`) has been rewritten for leaner Combine pipelines and better error handling. - `Streamer` now support subscriptions to multiple items if the items are from the same category type. - `Streamer` and `Database ` tests have been expanded. - `Database` now exposes functionality to compress and optimize the underlying SQLite database. - The `Database.Location` case `.inMemory` has been renamed to `.memory`. - The database internals now can stop a long-read/write operation if the Combine pipeline is cancelled.
Enhancements and breaking changes
3 years ago
This release brings a lot of improvements and API changes. The breaking changes are targeted to harmonize the library usage, so similar functionality between the API, Lightstreamer, and Database is called in the same way. - There is now a single error type ([`IG.Error`](https://github.com/dehesa/IG/blob/master/IG/sources/Error.swift)) instead of a different error type for each subservice. The error type adopts [SE-112 protocols](https://github.com/apple/swift-evolution/blob/master/proposals/0112-nserror-bridging.md) and `CustomDebugStringConvertible`. - `API` and `Streamer` coalesce the functionality for positions, working orders, and confirmations under the `deal` subcategory. - `Streamer` now support `CONFIRM` and `OPU` subscriptions. - The plural `prices` is used consistently everywhere. - The database have now extra functionality counting data points. - Performance have been improved by reducing the amount of heap pointers within structures (making pure stack structures). - Better support for non-forex markets. - The tests have been expanded to better support positions and working orders.
Decimal optimizations
3 years ago
From the very beginning this framework used Foundation's `Decimal` type for any floating-point number handling. There are two major downsides: it is an ObjC class and it is 160-bits wide. When performing long floating-point computing, the `Decimal` type accounts for more than half of the processing time (both on allocating/deallocating and the actual processing). A new [decimal number type](https://github.com/dehesa/Decimal64) of 64-bit width has been introduced and replace all floating-point computations.
Core functionality
4 years ago
The framework has been thinned and any extra fluff has been extracted. The functionality to connect to the API and Lightstreamer protocol and the price database are kept as the core of the framework.
Full API & Streamer support
4 years ago
This release contains: - Full IG API support. - Support for all Lightstreamer subscriptions. - Combine publishers to store price data points in the SQLite database. - Optional small Command-Line utility to keep running in the background to store the price data points of some targeted forex markets.
First public release
4 years ago
First public release for the Swift+IG interface. There is support for: - API endpoints. - Lightstreamer "real-time" events. - SQLite data cache. - Tests and convenience/optional wrappers. There is sadly no SPM support yet since it is not possible to include pre-built binaries.
iOS macOS watchOS tvOS
dehesa/Autolayout 2.0.0
Non verbose way to create constraints and work with anchors
⭐️ 2
🕓 39 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Swift 5.8
39 weeks ago
SPM Support
4 years ago
iOS macOS tvOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics