Skip to main content

No project description provided

Project description

Python package to manage k3d instances

IDE

Visual Studio Code is the recommended IDE for this project. It was chosen for the Remote - Containers extension that guarantees the same development environment for every developer. The project is configured so that everything works out of the box.

Architecture

File system organization

  • src: the source code of the application, and nothing more.
  • tools: anything else that's required to make the project work but is not a part of the application. This may include source code, shell scripts, configuration files, etc.
  • tools/tooling is used to explicitely link the various configuration files to the software that requires it.
  • tests: holds tests that can be run with pytest.

Quality Assurance

Formatting

Linting

Testing

Type checking

CI/CD

Whenever pull request is opened against the fork or a new changeset is pushed on the fork (including when a pull request is merged), the CI/CD will run. This is controlled by .github/workflows/ci-cd.yml. The content of the file is kept to a minimum, to keep it both readable and clean.

The CI/CD is split into two jobs. CI ensures that the tests pass with supported python versions, except the one used for releasing. CI-CD ensures that the tests pass with the version of python used for releasing, and uploads the corresponding package without any action from the user. This guarantees that all uploaded packages have been tested with the expected python version.

The version and the upload destination of the package depend on the action that triggered the CI/CD as well as the branch on which this action was triggered. All branches will upload to test.pypi.org, but release/X.Y branches will also upload to pypi.org.

Versioning

Versioning for major and minor numbers is handled by creating release/X.Y branches. The patch number is automatically generated based on existing releases. See tools/releasing/version.py for more details.

Makefile

The project uses a Makefile as a way to provide quick access to common commands. It should not be used to write complex scripts. It was chosen over poetry scripts because make is shorter to type than poetry run. Despite the shortfalls of make it is everywhere and many developers are used to make target commands. Finally the Makefile syntax should be awful enough that one would want to write a shell or python script and call it from the Makefile if something complicated needed to be done.

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

pyk3d-0.0.1.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

pyk3d-0.0.1-py3-none-any.whl (4.0 kB view hashes)

Uploaded Python 3

Supported by

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