Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ffy00/trampolim
A modern Python build backend
https://github.com/ffy00/trampolim
backend build hacktoberfest pep517 python python3 sdist wheel
Last synced: 3 days ago
JSON representation
A modern Python build backend
- Host: GitHub
- URL: https://github.com/ffy00/trampolim
- Owner: FFY00
- License: mit
- Created: 2021-05-03T23:23:53.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-07T22:32:50.000Z (about 1 month ago)
- Last Synced: 2024-10-14T19:35:23.201Z (about 1 month ago)
- Topics: backend, build, hacktoberfest, pep517, python, python3, sdist, wheel
- Language: Python
- Homepage: https://trampolim.readthedocs.io
- Size: 207 KB
- Stars: 43
- Watchers: 3
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# trampolim
[![test](https://github.com/FFY00/trampolim/actions/workflows/test.yml/badge.svg)](https://github.com/FFY00/trampolim/actions/workflows/test.yml)
[![codecov](https://codecov.io/gh/FFY00/trampolim/branch/main/graph/badge.svg?token=QAfQGa1bld)](https://codecov.io/gh/FFY00/trampolim)
[![check](https://github.com/FFY00/trampolim/actions/workflows/check.yml/badge.svg)](https://github.com/FFY00/trampolim/actions/workflows/check.yml)
[![Documentation Status](https://readthedocs.org/projects/trampolim/badge/?version=latest)](https://trampolim.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/trampolim.svg)](https://pypi.org/project/trampolim/)A modern Python build backend.
### Features
- Task system, allowing to run arbitrary Python code during the build process
- Automatic version detection from git repos and git archives
- Easy to use CLI -- build, publish, check for errors and recommended practices (**Planned**)### Usage
`trampolim` implements [PEP 621](https://www.python.org/dev/peps/pep-0621).
Your `pyproject.toml` should look something like this:```toml
[build-system]
build-backend = 'trampolim'
requires = ['trampolim~=0.1.0'][project]
name = 'sample_project'
version = '1.0.0'
description = 'A sample project'
readme = 'README.md'
requires-python = '>=3.7'
license = { file = 'LICENSE' }
authors = [
{ name = 'Filipe Laíns', email = '[email protected]' },
]
classifiers = [
'Development Status :: 4 - Beta',
'Programming Language :: Python',
]dependencies = [
'dependency',
'some-backport ; python_version < "3.8"',
][project.optional-dependencies]
test = [
'pytest',
'pytest-cov',
][project.scripts]
sample_entrypoint = 'sample_project:entrypoint_function'[project.urls]
homepage = 'https://my-sample-project-website.example.com'
documentation = 'https://github.com/some-user/sample-project'
repository = 'https://github.com/some-user/sample-project'
changelog = 'https://github.com/some-user/sample-project/blob/master/CHANGELOG.rst'
```