Skip to main content

Python projects management toolset

Project description

ndev

Set of tools that helps to manage development lifecycle. This set contains tools for:

To install ndev run:

uv tool install ndev

To update ndev run:

uv tool upgrade ndev

You can use it to install and debug:

git clone https://github.com/numdes/ndev 
cd ndev
uv tool install --editable .

Release management

When you have a big repository with complicated structure and you want to make release of some part of it, you can use ndev to help you with that.

Basic use case is to transfer some sources codes to antoher repository:

    ndev release \
        --origin . \
        --destination git@example.com:libs/example1.git \
        --author_name "$GITLAB_USER_NAME" \
        --author_email "$GITLAB_USER_EMAIL"

Here --origin is a path to the sources you want to release, --destination is a path to the repository where you want to release the sources.

--author_name and --author_email are optional parameters that will be used to set author of the commit in the destination repository.

After running this command, ndev will:

  1. Wipe out all the files in the destination repository
  2. Copy all the files from the origin repository to the destination repository
  3. Commit all the changes

All configuration is stored in pyproject.toml in tool.ndev section. Config sample:

[tool.ndev]
# relative path in origin repository to be a root of the release in destination repository
release-root = "releases/customer-root"

# generate and copy requirements.txt
copy-requirements = true

# generate and copy version.json
add-version-json = true

# list of files to be copied from origin to destination
copy-local = [
    { from = "example1", to = "services/example1" },
]

# list of wheels to be copied from origin dependecies to destination
copy-wheel-src = [
    # wheels sources for external use
    { from = "example2", to = "wheels/example2" },
]
# list of repositories to be copied to destination
copy-repo-src = [
    { from = "git@example.com:collction/example3.git", to = "libs/example3/cpp-src", ref = "main" },
]

Project details


Download files

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

Source Distribution

ndev-0.5.0.tar.gz (56.7 kB view details)

Uploaded Source

Built Distribution

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

ndev-0.5.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file ndev-0.5.0.tar.gz.

File metadata

  • Download URL: ndev-0.5.0.tar.gz
  • Upload date:
  • Size: 56.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for ndev-0.5.0.tar.gz
Algorithm Hash digest
SHA256 fb5229cb72875c8739d06c79ee687f557965cceeaae342dae6f1c71718a68a2d
MD5 15a4ae94a95bfed22c1a564d801e2d9a
BLAKE2b-256 c0c64c15fbe7666407e509b7daf0d1baf61c0ed7d885179edd1a2bfb458b0005

See more details on using hashes here.

File details

Details for the file ndev-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: ndev-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for ndev-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0301aa8c62ebf2f456d9ec35e79d6a6646dfab682a0343d43c158c3d83e59ce9
MD5 0b53866607df230eb352539057ce2578
BLAKE2b-256 e201977e2bdfbd48c262cead4748c722fa27e5b89dd8fd3e9bc7f4054f0345ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page