Skip to main content

asfpy - ASF Infrastructure Common Library for Python functions

PyPI PyPI - Python Versions Unit Tests Apache License

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 documentation
  • syslog: redirect print() 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:

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.59

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asfpy 0.59
File Size Uploaded
asfpy-0.59.tar.gz 161.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asfpy 0.59
File Interpreter ABI Platform
asfpy-0.59-py3-none-any.whl Python 3 none any Details

Total release size: 200.8 kB

Release files / asfpy-0.59.tar.gz

Download URL asfpy-0.59.tar.gz
Size 161.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bdc75a27752518f4b8d0af8c8ab81e3871c5fc920538b9b45a629e66d188d568
BLAKE2b-256 checksum
How to use checksums
c2e15b3dec982cf3950cc0df02cd00c58b904dd853a807956c528c53f4a40c19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release files / asfpy-0.59-py3-none-any.whl

Download URL asfpy-0.59-py3-none-any.whl
Size 39.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
263729524f29ebdfde60aff371bad79d0109fda6403855039f6509dcc7ce4616
BLAKE2b-256 checksum
How to use checksums
998c3ec5048ac3dedc2293d35e0fac3250c0ddb97fa3a3db17d91b12fecd4d2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release history Release notifications | RSS feed

0.60

2 release files

This release

0.59 This release

2 release files

0.58

2 release files

0.57

2 release files

0.56

2 release files

0.55

2 release files

0.54

2 release files

0.52

2 release files

0.51

2 release files

0.50

2 release files

0.49

2 release files

0.48

2 release files

0.47

2 release files

0.46

2 release files

0.45

2 release files

0.44

2 release files

0.43

2 release files

0.42

2 release files

0.41

2 release files

0.40

2 release files

0.39

2 release files

0.38

2 release files

0.37

2 release files

0.35

2 release files

0.34

2 release files

0.33

2 release files

0.32

2 release files

0.31

2 release files

0.30

3 release files

0.29

3 release files

0.28

2 release files

0.27

2 release files

0.26

2 release files

0.25

2 release files

0.24

2 release files

0.23

2 release files

0.22

2 release files

0.21

2 release files

0.20

2 release files

0.19

2 release files

0.18

3 release files

0.17

3 release files

0.16

2 release files

0.15

3 release files

0.14

3 release files

0.13

2 release files

0.12

2 release files

0.11

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

0.7

2 release files

0.6

2 release files

0.5

3 release files

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page