History
Changelog
0.1.7
- Since now it's allowed to subclass
App-units, yay! - Minor build system fixes: fix windows and macos builds
- Remove
AsyncScryptUnit, re-exportLoopUnitasAsyncScryptUnit - Add
loop_factorykwarg toLoopUnit. Test it's working with all supported python versions - Implement
ASGIServerUnitandasgi_server_factory_decorator
0.1.1 0.1.6
- Minor build system fixes
0.1.0
- Huge refactoring
- Fix all implementation mess, deprecate and rename some classes
- Add unit tests
- Fix found bugs
- Update docs
0.0.16
- Actualize mypy plugin, it works with mypy>1.4.0
0.0.15
- HotFix exception handling. I don't have better idea
0.0.14
- Improve type hints of
ClassVar - Fix bug at
update_annotations
0.0.13
- Some why it is suppressed exception happened inside event loop
0.0.10 0.0.12
- A lot of fixes to make library running on MacOS
0.0.9
- Fix an error in mypy plugin to make it working
0.0.7 0.0.8
- A lot of small fixes around
__slots__and dataclasses on python >= 3.10
0.0.6
- Fix invalid package build
0.0.5
- Refactor systempy's typing
-
- Tested building via
mypyc. It's almost ready
- Tested building via
- Refactor and split REPL code
-
- I found REPL have a lot of problems and tried to fix it
- Add ptpython REPL. More about it
- Got an idea how to test
0.0.4
- Reformat code using black
- Add
py.typedpackage hint - Add some type hints
0.0.3
- Implement 90% of documentation
0.0.2
- Rename module. The lowerCamelCase makes me suffer. Current name is
systempy - Write initial docs
0.0.1
- Implementation complete. Library is installable and tested on my pet project
- No documentation yet. All in my mind
- No tests yet. Testing code on my
productionpet project - No idea how to test the code. How to test daemon is started? Which lifecycle stages were worked? And which were not? How the daemon handled unix signal?
-
- Maybe via socket, but there is a recursion: while we are running unit tests we are running also integration tests, and broken unit tests may lead to the false-positive integration test result
-
- Maybe via checking subprocess result code and checking it's stdout/stderr logs. Anyway it's better then via socket and works good everywhere
- No examples yet (except my pet project which is closed-source, ha-ha)
0.0.0
- Unfortunately, the name
lifecycleis already used. Choosing the new name -
- New name is
systemPY
- New name is
-
- The LULZ explanation is in the article
Why does it
systemPY?
- The LULZ explanation is in the article
Why does it
- Initial commit as independent project
- Pypi stub
Ancient History
Fossil area. Be careful, don't trample the bones
-0.1.0
- By the impression of systemd refactor the library, drop hardcoded stages, make implementation ultimately soft. Now all lifecycle stages are custom. It's possible to define any new custom stages and bind it to any previously defined stage (before or after it) without any limit
- Implement
gatherdirection as arbitrary, handled byasyncio.gathercore - Implement experimental
reload_threadsafe
-0.2.0
- Drop
call super()(anti)pattern. Right now while you are implementing the component you don't care about other components - Implement basic daemon reload
-0.3.0
- Initial idea, named
lifecycle. You can find a lot of mentions in the code