Skip to main content

Keyframe motions for Kbot

Project description

Using this template

You can use this template repo to easily make a python package!

It has some useful features like Makefiles for formatting and static-checks, as well as an automatic Github CI/CD config.

Once you get things working, the repo will already be in the correct format to be published to pypi.org.

Just follow the instructions below to set up your new repository.

After setting things up, you can run make format and make static-checks in the root folder for the formatting and static type checking respectively.

The structure of the template is as follows:

├── LICENSE
├── Makefile
├── MANIFEST.in
├── one_time_setup_config.yaml
├── one_time_setup.py
├── pyproject.toml
├── README.md
├── setup.py
├── template_package # <-- Your code goes in here after setup!   ├── __init__.py
│   ├── py.typed
│   └── requirements.txt
└── tests
    ├── conftest.py
    └── test_dummy.py

3 directories, 13 files

Installation

Option 1 (recommended): One-time config + script

  1. Edit one_time_setup_config.yaml
  • distribution_name: Project/PyPI name (e.g., my-package)
  • import_name: Python package import name (directory, e.g., my_package)
  • description: Short summary
  • url: Project URL (e.g., repository URL)
  • author, author_email: Your details
  • python_min_version: Minimum Python version (e.g., 3.11)
  • version: Initial package version (sets <import_name>/__init__.py)
  • default_branch: CI default branch (master or main)
  • year: Copyright year
  1. Run the one-time setup script from the repository root
  • The script reads the config and will:
    • Rename template_package/ to <import_name>/
    • Update setup.py (name, description, author, author_email, url, python_requires, paths)
    • Update pyproject.toml (ruff target-version, isort known-first-party)
    • Update MANIFEST.in (package directory)
    • Update Makefile (displayed project name and Python version)
    • Update LICENSE (year and author)
    • Update .github/workflows/test.yml and publish.yml (Python version; default branch in tests)
    • Update <import_name>/__init__.py (__version__)
  • Requires PyYAML.
  • Review and commit the changes when satisfied.

After completing setup you may remove one_time_setup.py and one_time_setup_config.yaml.

Option 2: Manual setup

Pick your project details

  • Distribution name (project/PyPI name), e.g., "my-package"
  • Python package import name (directory name), e.g., "my_package"
  • Short description
  • Project URL (e.g., GitHub repo URL)
  • Author name and email
  • Minimum supported Python version (e.g., 3.11)
  • Copyright year

Rename the package directory

  • Rename template_package/ to your chosen Python import name (e.g., my_package/).

Edit these files

  • setup.py:

    • name: distribution/project name
    • description: short description
    • author: your name
    • url: project URL
    • python_requires: minimum Python version (e.g., ">=3.11")
    • Update paths referencing the package directory (template_package/requirements.txt, template_package/__init__.py) to point to your renamed package
    • Optional: add author_email, classifiers, and console entry_points for a CLI
  • pyproject.toml:

    • [tool.ruff] target-version: set to your target (e.g., py311)
    • [tool.ruff.lint.isort] known-first-party: replace template_package with your package import name
  • MANIFEST.in:

    • Replace template_package/ with your package directory
  • Makefile:

    • Update the displayed project name and Python version in the help text
  • LICENSE:

    • Update the year and author name
  • .github/workflows/test.yml and .github/workflows/publish.yml:

    • Update the python-version to your minimum
    • Optional: change the default branch in triggers if using main instead of master
  • README.md (this file):

    • Replace the title and content with your project documentation
  • <your_package>/__init__.py:

    • Set __version__ to your starting version (e.g., 0.1.0)
  • <your_package>/requirements.txt:

    • List runtime dependencies (one per line)

Start coding

  • Place your source code inside the renamed package directory.
  • Tests live under tests/. Adjust or extend as needed.

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

kmotions-0.1.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

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

kmotions-0.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file kmotions-0.1.0.tar.gz.

File metadata

  • Download URL: kmotions-0.1.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kmotions-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c90bc8ec98ee389eabd9e907150c894334afd0767f5a1f9346d818a7d3b76e5f
MD5 89215a49a038d3ed7e9746f8ead63ae3
BLAKE2b-256 a4daf480d896b3b4270a4e424e178be046a0fc5f834e5c051d1318e7a3194366

See more details on using hashes here.

Provenance

The following attestation bundles were made for kmotions-0.1.0.tar.gz:

Publisher: publish.yml on kscalelabs/kmotions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kmotions-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kmotions-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kmotions-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5efd9679d318d551ddb5732009796384c02ddfdab798ac48fe795b4352cc71ed
MD5 c0ba8ea09efc954b9b14a5de121b6fea
BLAKE2b-256 edda2d525b133596b4a98468a0713c4cbd3d6a39a46fef94c4e0377ca28aa1c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for kmotions-0.1.0-py3-none-any.whl:

Publisher: publish.yml on kscalelabs/kmotions

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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