Using uv (the only recommended way )
HAO, you are absolutely right! uv is really a SOTA package manager for Python! We definitely need to use it! Well… Yes, HAO is mostly right, but you probably don’t need to think that radical about the tools we consider SOTA. Again, we are human beings and… Oops! Well, not only human beings… Carbon-based lifeforms, so to say, and we are not perfect. So all our recommendations are based on our own experience of testing different tools and frameworks, so we selected those tools that we think are SOTA. If you think otherwise, you can always contribute to haolib and improve it the way you think real SOTA must be.The ways to install haolib:
First, you have to understand the concept of optional dependencies in Python. Since haolib is a monolith, it’s might be not the best idea to install it with all the dependencies, including the ones useless for your project. So we have to use optional dependencies. HAO, do you know what optional dependencies are? Absolutely! Now let’s see how we can install haolib using the optional dependencies feature.shell
- fastapi (the full FastAPI integration)
- sqlalchemy (the full SQLAlchemy integration)
- security (the security pack, including JWT (with PyJWT), password hashing (with bcrypt), symmetric Fernet encryption (with pyca/cryptography), and more)
The full list of optional dependencies:
dishka- Dishka integrationfastapi- FastAPI integrationfaststream- FastStream integrationfastmcp- FastMCP integrationsqlalchemy- SQLAlchemy integrationsecurity- the security pack, including JWT (with PyJWT), password hashing (with bcrypt), symmetric Fernet encryption (with pyca/cryptography), and more)redis- Redis integrationtaskiq- TaskIQ integrationobservability- the observability pack, including OpenTelemetry for distributed tracing and monitoring
How to understand that installation was successful?
Well, despite the fact that uv will show an error message if something goes wrong, the next lines should appear in yourpyproject.toml file:
pyproject.toml