asfpy - ASF Infrastructure Common Library for Python functions
This Python library contains features commonly used at the Apache Software Foundation.
(For asfpy 0.37 and below, look at our old Subversion repository)
Package Documention
aioldap: asynchronous LDAP client (documentation TBD)clitools: LDAP work via command line tooling (documentation TBD)crypto: helper for ED25519 work (documentation TBD)db: high performance simplified SQLite client (documentation TBD)justone: helper to ensure only one long-running process is operating (documentation TBD)messaging: helpers to send email (documentation TBD)pubsub: client for subscribing to the ASF pubsub service (documentation TBD)sqlite: document-based CRUD using SQLite (documentation TBD)stopwatch: debug/logging timing for Python code. See documentationsyslog: redirectprint()to syslog (documentation TBD)twatcher: watch EZT emplates for edits, then reload (documentation TBD)whoami: fetch hostname of box (documentation TBD)
--
daemon: DEPRECATED old code to spawn a daemon (obsoleted by pipservice)ldapadmin: DEPRECATED internal ASF infra tooling (moved to internal infra)
Building asfpy package
Prerequisites:
uv: install as per https://docs.astral.sh/uv/getting-started/installation/
Setting up the development environment:
$ uv sync --all-extras
Building the package:
$ uv build
Running the tests:
$ uv run pytest
Installation
Create and activate a virtual environment and then install asfpy using pip:
$ pip install "asfpy"
Note: Adding [ldap] or [aioldap] extras will install optional dependencies for LDAP support that will
require additional system dependencies:
$ pip install "asfpy[aioldap]"
Publishing a new asfpy package
Create an account on https://pypi.org/, then add a token with an "all projects" scope.
Set your token via the environment:
$ export UV_PUBLISH_TOKEN=<your-token>
Finally publish to pypi.org:
$ make publish
See this guide for more details on working with PyPi.
Please also create a tag for the release.
Publishing to test.pypi.org
Create an account on https://test.pypi.org/, then add a token with an "all projects" scope.
Set your token via the environment:
$ export UV_PUBLISH_TOKEN=<your-token>
Finally publish to test.pypi.org:
$ make publish-test
The package should upload to the test.pypi.org service.
Metadata
Release files for asfpy 0.60
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| asfpy-0.60.tar.gz | 161.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asfpy-0.60-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 200.8 kB
Release files / asfpy-0.60.tar.gz
| Download URL | asfpy-0.60.tar.gz |
|---|---|
| Size | 161.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95bdeb4bcb89078e6a51aef45f3b560c0912a93ecc0ba2610de41694b63c00ad
|
|
BLAKE2b-256 checksum How to use checksums |
f5c29433a2dc462bbef8f1660a02dfdef0e574410622a59bfe32ca913dc69ed2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / asfpy-0.60-py3-none-any.whl
| Download URL | asfpy-0.60-py3-none-any.whl |
|---|---|
| Size | 39.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
120164ddb98dcb12d44dc4383226e5892f3beccce017861468c4da5d8213bba4
|
|
BLAKE2b-256 checksum How to use checksums |
8121225e1971d481226ee37fb9732078b2a5571133eb03d4193e9b13f3820bdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|