
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Python application component initialization system
Full documantation is available at Read the Docs
The regular application contains many atomic components. Asyncio makes their initializing a little bit complicated. It's OK, when you have a single entrypoint and initialize your application components via your framework. While you add new components to your application iteratively, you don't see any problem
When you create any new entrypoint, you have to think a lot, how to initialize application components again, which callbacks should be called and in which order. But it's a half of the problem! You also have to implement a graceful shutdown
The most painful part is one-time scripts. It's kind of The Banana Gorilla Problem: you just want a banana but you have to initialize a gorilla holding the banana and the entire jungle, and then gracefully shutdown it
This library allows you to implement application startup and shutdown in a
declarative way. You have to implement a class for each your component,
write the startup and shutdown code. Then you have to combine required
components as mixins into the current application App
class. Then create an
instance and pass dependencies as keyword arguments. In case it's a self-hosted
app you have to call the instance.run_sync()
method
Note that systempy
is NOT a di framework, but it may be used with any of
them. Also systempy
is NOT a binding to systemd, but I was inspired by it
and systempy
is doing similar things on a much smaller scale
There are 6 the most significant stages of the application lifecycle:
on_init
is called exactly once on the application startup
pre_startup
is called before the event loop is started
on_startup
is called exactly when the event loop has started
on_shutdown
is called when the application is going to shutdown or reload
but the event loop is still working
post_shutdown
is called after event loop has stopped or drained. When
application is going to reload, next it would be called pre_startup
on_exit
is called exactly once when application is going to stop
You may to create Unit
classes for each your application component where you
may put your code. Then you may combine these Unit
class mixins into the
current App
class, which composes your defined callbacks and runs in the
right order. Depending on application type, these callbacks may be called by
primary application or by yourself
FAQs
Python application component initialization system
We found that systempy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.