Skip to main content

Python Project Template

This project follows the Python Standards declared in PEP 621. This uses a pyproject.yaml to configuration the project. In this example, flit is used to simplify the build process, and publish to pypi.

Project Organization

  • .devcontainer - This directory contains required files for creating a Codespace.
  • .github
    • workflows - Contains GitHub Actions used for building, testing and publishing.
      • publish-test.yml - Publish wheels to https://test.pypi.org/
      • publish.yml - Publish wheels to https://pypi.org/
      • pull-request.yml - Build and Test pull requests before commiting to main.
      • template-sync.yml - Update GitHub Repo with enhancments to base template
  • docs - collect documents (default format .md)
  • src - place new source code here
    • python_package - sample package (this can be deleted when creating a new repository)
  • tests - contains Python based test cases to validation src code
  • .pre-commit-config.yaml - Contains various pre-check fixes for Python
  • .templateversionrc - used to track template version usage.
  • MANIFEST.in - Declares additional files to include in Python whl
  • pyproject.toml - Python Project Declaration
  • ws.code-workspace - Recommended configurations for Visual Studio Code

pyproject.toml

The following sections are defined in the configuration toml.

  • build-system
  • project
    • optional-dependencies
    • urls
  • tool
    • bandit
    • coverage
      • run
      • report
    • pyright
    • pytest
    • tox
    • pylint
      • MESSAGES CONTROL
      • REPORTS
      • REFACTORING
      • BASIC
      • FORMAT
      • LOGGING
      • MISCELLANEOUS
      • SIMILARITIES
      • SPELLING
      • STRING
      • TYPECHECK
      • VARIABLES
      • CLASSES
      • DESIGN
      • IMPORTS
      • EXCEPTIONS

build-system

TODO: add info on flit configuration

project

This section defines the project metadata, which may have been previously contained in a setup.py file.

optional-dependencies

This are otpimal dependancey groups that can be installed via 'pip install .[tests]'. One group is included for dependancies required for testing. A second group is included for PySpark based dependancies.

tool

This section defines the configurations for additional tools used to format, lint, type-check, and analysis Python code.

bandit

Performs Security Static Analysis checks on code base.

black

Auto-formats code

coverage

Configures code coverage reports generatated during testing.

pyright

Performs static type checking on Python.

pytest

Configures various test markers used during testing.

pylint

Performs Linting and Static Analysis. Any modifictions made by the auto-formater (black) are always considered correct.

Publish to PyPi from GitHub

In order to publish to PyPi, a repostirory secret must be created, "PYPI_PASSWORD". In order to publish to the Test PyPi, a second secret must be added, "TEST_PYPI_PASSWORD".

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Release files for modern_robitcs_smc 0.0.1

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

Source distribution (sdist)

Source distribution for modern_robitcs_smc 0.0.1
File Size Uploaded
modern_robitcs_smc-0.0.1.tar.gz 34.9 kB Details

Built distribution (wheel)

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

Total release size: 53.0 kB

Release files / modern_robitcs_smc-0.0.1.tar.gz

Download URL modern_robitcs_smc-0.0.1.tar.gz
Size 34.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e8d6c896fd02dcff7322b3d48b28617bae2f60289265ff63ca242b4ccbbacaf4
BLAKE2b-256 checksum
How to use checksums
60d2b13a88eb1128a4c67fa12fedcada2be957a90aa6b0d9265fe0f0620b7f27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.1

Release files / modern_robitcs_smc-0.0.1-py3-none-any.whl

Download URL modern_robitcs_smc-0.0.1-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f99e6b5fb5748500ce31ab2f35b64010ed64227ec69509c7a82a0dffdf979730
BLAKE2b-256 checksum
How to use checksums
6d008adf37f51bd504669665eab8f5f2a46f089978e187fff684b6ccbdff924c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.1

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 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