Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beam-pyio/pyio-cookiecutter
Cookiecutter template for creating a package for the Apache Beam Python I/O Connectors project
https://github.com/beam-pyio/pyio-cookiecutter
apache-beam apache-beam-io cookiecutter-template python
Last synced: about 2 months ago
JSON representation
Cookiecutter template for creating a package for the Apache Beam Python I/O Connectors project
- Host: GitHub
- URL: https://github.com/beam-pyio/pyio-cookiecutter
- Owner: beam-pyio
- License: other
- Created: 2024-05-17T00:23:36.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T23:59:14.000Z (4 months ago)
- Last Synced: 2024-09-18T04:03:22.194Z (4 months ago)
- Topics: apache-beam, apache-beam-io, cookiecutter-template, python
- Language: Python
- Homepage: https://beam-pyio.github.io/pyio-cookiecutter/
- Size: 229 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Apache Beam Python I/O Cookiecutter
![doc](https://github.com/beam-pyio/pyio-cookiecutter/workflows/doc/badge.svg)
![test](https://github.com/beam-pyio/pyio-cookiecutter/workflows/test/badge.svg)
[![release](https://img.shields.io/github/release/beam-pyio/pyio-cookiecutter.svg)](https://github.com/beam-pyio/pyio-cookiecutter/releases)
![python](https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11%2C%203.12-blue)
![os](https://img.shields.io/badge/OS-Ubuntu%2C%20Mac%2C%20Windows-purple)
`pyio-cookiecutter` is a [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) template for creating a package for the [Apache Beam Python I/O Connectors](https://github.com/beam-pyio) project using [`poetry`](https://python-poetry.org).
## Usage
Please see the [documentation](https://beam-pyio.github.io/pyio-cookiecutter/) for more detail on using `pyio-cookiecutter`. We provide the fundamental steps below:
1. Install [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/):
```bash
pip install cookiecutter
```2. Generate a Python package structure using [`pyio-cookiecutter`](https://github.com/beam-pyio/pyio-cookiecutter):
```bash
cookiecutter https://github.com/beam-pyio/pyio-cookiecutter.git
```3. After responding to the prompts you should have a directory structure similar to that shown below. To learn more about the contents of this directory structure, please see the `pyio-cookiecutter` [documentation](https://beam-pyio.github.io/pyio-cookiecutter/).
```text
pkg
├── .github ┐
│ └── workflows │
│ ├── doc.yml │ GitHub Actions workflow
│ ├── release.yml │
│ └── test.yml ┘
├── .gitignore ┐
├── CHANGELOG.md │
├── CONDUCT.md │
├── CONTRIBUTING.md │
├── LICENSE │
├── README.md ┘
├── docs ┐
│ ├── Makefile │
│ ├── changelog.md │
│ ├── conduct.md │ Package documentation
│ ├── conf.py │
│ ├── contributing.md │
│ ├── index.md │
│ └── requirements.txt ┘
├── pyproject.toml ┐
├── src │
│ └── pkg │ Package source code, metadata,
│ ├── __init__.py │ and build instructions
│ └── pkg.py ┘
└── tests ┐
└── test_pkg.py ┘ Package tests
```## Contributing
Interested in contributing? Check out the [Contributing Guidelines](https://beam-pyio.github.io/pyio-cookiecutter/contributing.html). Please note that this project is released with a [Code of Conduct](https://beam-pyio.github.io/pyio-cookiecutter/conduct.html). By contributing to this project, you agree to abide by its terms.
## License
`pyio-cookiecutter` is licensed under the terms of the BSD license.
## Acknowledgements
`pyio-cookiecutter` was originally developed for use in the [Apache Beam Python I/O Connectors](https://github.com/beam-pyio) project. It was inspired by the `Py-Pkgs-Cookiecutter` [template](https://github.com/py-pkgs/py-pkgs-cookiecutter).