Observed since 20 Oct, 17:45 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
ab-token-store-service
Storres user tokens for Auth Broker.
The template repository for creating python packages, shared across auth-broker.
🦜🕸️
This template repository aims to create a reusable package template which streamlines the creation and publishing of isolated python packages in auth-broker. This is aligned with the engineering vision @ auth-broker for better modularisation and reusability of code.
Since this is just a package, and not a service, there is no real "run" action. But you can run the tests immediately.
Here are a list of available commands via make.
make install - install the required dependencies.make test - runs the tests.make build-docker - build the docker image.make run-docker - run the docker compose services.make test-docker - run the tests in docker.make clean-docker - remove all docker containers etc.Install uv, (if you haven't already)
https://docs.astral.sh/uv/getting-started/installation/#installation-methods
brew install uv
Initialise pre-commit (validates ruff on commit.)
uv run pre-commit install
Install dependencies (including dev dependencies)
uv sync
If you are adding a new dev dependency, please run:
uv add --dev {your-new-package}
Packages all share the same namespace ab_core. To import this package into
your project:
from ab_core.template import placeholder_func
We encourage you to make your package available to all of ab via this
ab_core namespace. The goal is to streamline development, POCs and overall
collaboration.
The library is available on PyPI. You can install it using the following command:
Using pip:
pip install ab-token-store-service
Using UV
Note: there is currently no nice way like poetry, hence we still needd to provide the full url. https://github.com/astral-sh/uv/issues/10140
Add the dependency
uv add ab-token-store-service
Using poetry:
Then run the following command to install the package:
poetry add ab-token-store-service
Example Usage
# Please update this based on your package!
from ab_core.template import placeholder_func
if __name__ == "__main__":
print("This is a placeholder: ", placeholdder_func())
We use Ruff as the formatter and linter. The pre-commit has hooks which runs checking and applies linting automatically. The CI validates the linting, ensuring main is always looking clean.
You can manually use these commands too:
make lint - check for linting issues.make format - fix linting issues.We publish to PyPI using Github releases. Steps are as follows:
pyproject.toml file using a PR and merge to
main. Use uv version --bump {patch/minor/major} to update the version.publish workflow. In the Release window, type in the
version number and it will prompt to create a new tag.Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
ab-alembic-auto-migrateEnvironment{
"extras": "",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | ab-alembic-auto-migrate<0.3.0,>=0.2.0 | runtime |
ab-auth-clientEnvironment{
"extras": "",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | ab-auth-client>=0.1.8 | runtime |
ab-databaseEnvironment{
"extras": "postgres-async,postgres-sync,sqlite-async",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | ab-database[postgres-async,postgres-sync,sqlite-async]<0.3.0,>=0.2.2 | runtime |
ab-loggingEnvironment{
"extras": "",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | ab-logging<0.3.0,>=0.1.2 | runtime |
ab-sqlalchemy-fastapi-http-exceptionsEnvironment{
"extras": "",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | ab-sqlalchemy-fastapi-http-exceptions<0.2.0,>=0.1.0 | runtime |
fastapiEnvironment{
"extras": "",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | fastapi<0.116,>=0.115.14 | runtime |
pydanticEnvironment{
"extras": "email",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | pydantic[email]<3,>=2.11.7 | runtime |
uvicornEnvironment{
"extras": "",
"marker": null,
"requires_python": "<4,>=3.12",
"evaluation": "NOT_EVALUATED"
} | uvicorn<0.36,>=0.35.0 | runtime |
bdist_wheel · 7.44 KB · Python py3
sdist · 7.61 KB · Python source
Observed since 20 Oct, 17:45 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:d83436fc4eb253a7e77b89956fff60fd2529f573bfe364abf332d57bbfea21b0