Skip to main content

distman

PyPI Tests License

Simple, configuration-driven software distribution for production pipelines.

distman performs safe, versioned rollouts of software, scripts, and configuration files to predefined filesystem locations. It is useful when deterministic deployments, environment-aware transforms, local caching, and quick rollback matter more than conventional package installation.

Deployed objects are stored as numbered versions, while an atomic symlink selects the active version:

bin/
├── tool -> versions/tool.2.a1b2c3d
└── versions/
    ├── tool.1.91c8a77
    └── tool.2.a1b2c3d

distman works well with envstack for environment-specific deployment and runtime configuration.

Installation

pip install -U distman

Install the optional JavaScript and HTML minifiers when a transform pipeline needs them:

pip install -U "distman[minify]"

Quickstart

Create a dist.json file at the root of a Git repository:

{
  "author": "pipeline@example.com",
  "targets": {
    "tools": {
      "source": "tools",
      "destination": "{DEPLOY_ROOT}/tools"
    }
  }
}

Preview and then perform the deployment:

dist --dryrun
dist --yes

The namespaced distman dist command provides the same distribution interface. Cache a shared deployment locally with:

distcache

Documentation

Full documentation is available in the docs folder:

The documentation is also published through the repository's GitHub Pages workflow.

License

distman is distributed under the BSD 3-Clause License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

distman-0.8.3.tar.gz (49.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

distman-0.8.3-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

Details for the file distman-0.8.3.tar.gz.

File metadata

  • Download URL: distman-0.8.3.tar.gz
  • Upload date:
  • Size: 49.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for distman-0.8.3.tar.gz
Algorithm Hash digest
SHA256 77eca30502d2b64ee81e82e0ab19b899f97198957c6ebb039c9bdc4784d6b304
MD5 7827076637661aaac8b43bf3c76aab2a
BLAKE2b-256 2e85d8833bcee0627cd83c5d97fddb918896054f32ee4352c93d78c9cc246d07

See more details on using hashes here.

File details

Details for the file distman-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: distman-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 46.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for distman-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 77357b5e8fc0ac0ab8fe30ce277385193ca82fe0e0d93f859ecf5aa476084667
MD5 5011222f8129202958b398db31b20eff
BLAKE2b-256 fc58490564bae5f9968490188c2e3d047b07f5a7d5c0b546b198efef73b36da9

See more details on using hashes here.

Release history Release notifications | RSS feed

0.8.4

2 files

This release

0.8.3 This release

2 files

0.8.2

1 file

0.8.1

1 file

0.8.0

1 file

0.7.3

1 file

0.7.2

1 file

0.7.1

1 file

0.7.0

1 file

0.6.1

1 file

0.6.0

1 file

0.5.7

1 file

0.5.6

1 file

0.5.5

1 file

0.5.4

1 file

0.5.3

1 file

0.5.2

1 file

0.5.1

1 file

0.5.0

1 file

0.4.3

1 file

0.4.2

1 file

0.4.1

1 file

0.4.0

1 file

0.3.6

1 file

0.3.5

1 file

0.3.4

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.8

1 file

0.1.7

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

0.0.1

1 file

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