Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eganjs/protocol-lib
Library of Protocols for better structural typing
https://github.com/eganjs/protocol-lib
hacktoberfest python typing
Last synced: about 1 month ago
JSON representation
Library of Protocols for better structural typing
- Host: GitHub
- URL: https://github.com/eganjs/protocol-lib
- Owner: eganjs
- License: mit
- Created: 2020-11-18T18:34:07.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-03T21:48:58.000Z (over 3 years ago)
- Last Synced: 2024-10-03T09:27:31.862Z (4 months ago)
- Topics: hacktoberfest, python, typing
- Language: JavaScript
- Homepage:
- Size: 95.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# protocol-lib
![Build](https://github.com/eganjs/protocol-lib/workflows/ci/badge.svg)
Protocols for better structural typing
## Goals
Implement Protocols for:
- [x] Container
- [x] Hashable
- [x] Iterable
- [x] Iterator
- [x] Reversible
- [ ] ~~Generator~~
- [x] Sized
- [ ] Callable
- [x] Collection
- [x] Sequence
- [x] MutableSequence
- [ ] ByteString
- [ ] Set
- [ ] MutableSet
- [x] Mapping
- [ ] MutableMapping
- [ ] MappingView
- [ ] ItemsView
- [ ] KeysView
- [ ] ValuesView
- [ ] Awaitable
- [ ] Coroutine
- [ ] AsyncIterable
- [ ] AsyncIterator
- [ ] AsyncGenerator## Notes
Generator is not currently implemented in this library. This is due to challenges encountered when attempting to implement it.
## Updating project config
To edit project configuration, update the `.projenrc.js` file in the root of the project and run `make projen`.