[bump2version]: (https://github.com/c4urself/bump2version [pre-commit]: https://pre-commit.com [black]: https://github.com/psf/black
Python Process Manager
Python process manager: Dispatch (ssh/bash) & control (zmq) detached (remote) processes
Version: 0.0.2
Usage
- Change files according to overview in
TODObelow - Develop package...
- Install package:
- static/normal install:
pip install . - editable install:
pip install -e . - dev install:
pip install -e .[dev](some terminals require to escape brackets with\as\[, esp. zsh)
- static/normal install:
File overview
General
-
LICENSE: license text -
README.md: Github-flavored markdown file -
templatepy: placeholder folder for any python package that is configured for install viasetup.cfgandpyproject.toml__init__.py: contains basic package info and example function that is called by console entrypoint (seesetup.cfg)example.data.file.config: a file to demonstrate that data files are included based onsetup.cfgcriteriaexample.data.file.test-extension-yu48: a file to demonstrate data exclusion viasetup.py
Packaging system (see: packaging and setup.cfg)
-
MANIFEST.in: manifest file describes included/excluded files for build -
pyproject.toml:- specifies build system: this replaces the usual
setup.pyarchitecture for setuptools - config for [black] code formatter
- specifies build system: this replaces the usual
-
setup.cfg:- package specification and install dependencies
- config for [bump2version] and
flake8formatting (see pre-commit)
-
setup.py: legacy file (see notes on new build-system below)
Code maintenance (linting/formatting/github)
-
.pre-commit-config.yaml: use [pre-commit] to run code formatting (e.g. with [black] andflake8) and PEP compliance checks- Install pre-commit hook with
pre-commit install(Note: only installs it in the current virtual environment) - Run it manually with
pre-commit run --allor leave it to run on commit (requires to re-stage changed files!)
- Install pre-commit hook with
-
.github: folder that contains github automation workflows and issues templates -
.gitignore: ignored files/folders in git tools
TODO for adapting template to new project
- Change package name:
- (1)
templatepyfolder - (2) README.md
- (3)
nameargument insetup.cfg - (4)
.github/workflowsfiles - (5)
setup.cfg:[bumpversion:file:templatepy/__init__.py]
- (1)
- Change details about project author, etc. in
setup.cfg,README.md, andtemplatepy/__init__.py - Change license holder in
LICENSE - Change
READMEbadge paths at top - Verify inclusions/exclusions of installable files/folders in
MANIFEST.inandsetup.cfg - Check
.gitignorecontains relevant criteria - Add all version string locations to
setup.cfg/bump2version field.- Use same syntax as for
[bumpversion:file:PACKAGEFOLDER/__init__.py]line to describe how to find version on version increment
- Use same syntax as for
- To upload to pypi: see below for workflow
- To upload to Zenodo if repo is a publication:
- (1) Connect Zenodo to Github account
- (2) Flip switch on zenodo view of repo - NOTE: Zenodo can only copy from public repos
- (3) Create new release version of github repo (manual or via
.github/workflows/CI.yaml) - (4) Wait! Zenodo view with DOI assignment should update within about a minute
- (5) Add DOI badge to
READMEfile
Workflow for (automatically) uploading package to pypi or test.pypi
- (1) On pypi, make new API key for repo or general
- (2) On Github, in repository settings add a new actions secret named
TWINE_API_KEYand copy in the pypi API key - (3) Create a new release manually on github or by triggering the github workflow with a version without release extension (e.g.
x.y.z)
Notes
New(er) build system with pyproject.toml and setup.cfg
pip- tested with
pip install . --use-feature=in-tree-buildfor forward-compatibility withpip 21.3 - keeping empty
setup.pyfor enabling install in editable mode-eas this still requires such a file - added
wheelas build-system dependency for compatibility with pip that does not implementPEP 517
- tested with
setup.cfg/setup.pymight be fully replaced withpyproject.toml. See this discussion about PEP-426, PEP-517, PEP-518
License
This software is released under the BSD 3-Clause License
Metadata
Release files for python-process-manager 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| python_process_manager-0.0.2.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_process_manager-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.5 kB
Release files / python_process_manager-0.0.2.tar.gz
| Download URL | python_process_manager-0.0.2.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78b1d36e48504b7f199802722a9c3e3d0ee95de6e6515bd4d8323591db7b419a
|
|
BLAKE2b-256 checksum How to use checksums |
fca89ee4c7c6e78bf9ab5224b6f4192a377f7cd71d5e36bb83bbd1f6a91907b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Release files / python_process_manager-0.0.2-py3-none-any.whl
| Download URL | python_process_manager-0.0.2-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
53c8539336901948b036876c2c3a4367eced4fa866b97e61f5cba2155cec30ee
|
|
BLAKE2b-256 checksum How to use checksums |
3c1437a27229987b978dc67fbb225c136c86ab3cf44a00e3492056096d6982b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|