<!-- markdownlint-disable -->
<p align="center">
<a href="https://github.com/DevelopersToolbox/">
<img src="https://cdn.wolfsoftware.com/assets/images/github/organisations/developerstoolbox/black-and-white-circle-256.png" alt="DevelopersToolbox logo" />
</a>
<br />
<a href="https://github.com/DevelopersToolbox/template-package-importable/actions/workflows/cicd.yml">
<img src="https://img.shields.io/github/actions/workflow/status/DevelopersToolbox/template-package-importable/cicd.yml?branch=master&label=build%20status&style=for-the-badge" alt="Github Build Status" />
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable/blob/master/LICENSE.md">
<img src="https://img.shields.io/github/license/DevelopersToolbox/template-package-importable?color=blue&label=License&style=for-the-badge" alt="License">
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable">
<img src="https://img.shields.io/github/created-at/DevelopersToolbox/template-package-importable?color=blue&label=Created&style=for-the-badge" alt="Created">
</a>
<br />
<a href="https://github.com/DevelopersToolbox/template-package-importable/releases/latest">
<img src="https://img.shields.io/github/v/release/DevelopersToolbox/template-package-importable?color=blue&label=Latest%20Release&style=for-the-badge" alt="Release">
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable/releases/latest">
<img src="https://img.shields.io/github/release-date/DevelopersToolbox/template-package-importable?color=blue&label=Released&style=for-the-badge" alt="Released">
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable/releases/latest">
<img src="https://img.shields.io/github/commits-since/DevelopersToolbox/template-package-importable/latest.svg?color=blue&style=for-the-badge" alt="Commits since release">
</a>
<br />
<a href="https://github.com/DevelopersToolbox/template-package-importable/blob/master/.github/CODE_OF_CONDUCT.md">
<img src="https://img.shields.io/badge/Code%20of%20Conduct-blue?style=for-the-badge" />
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable/blob/master/.github/CONTRIBUTING.md">
<img src="https://img.shields.io/badge/Contributing-blue?style=for-the-badge" />
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable/blob/master/.github/SECURITY.md">
<img src="https://img.shields.io/badge/Report%20Security%20Concern-blue?style=for-the-badge" />
</a>
<a href="https://github.com/DevelopersToolbox/template-package-importable/issues">
<img src="https://img.shields.io/badge/Get%20Support-blue?style=for-the-badge" />
</a>
</p>
## Overview
This is the package template that we use internally when creating new python based importable packages. It has all of the basic functionality and workflows needed to create,
build and publish new package to [PyPI](https://pypi.org/).
This package template does NOT provide any cli functionality but instead is designed for creating importable packages.
We decided to make this available along with our other tools to allow people to use a well engineered starting point when creating their own tools.
We also provide 2 other templates which we use.
- [template python project](https://github.com/DevelopersToolbox/template-python-project)
- [template package cli](https://github.com/DevelopersToolbox/template-package-cli)
## Features
- **Modular Architecture**: Organize your code into modules for better maintainability.
- **Custom Exceptions**: BAsic examples for implementing custom exceptions for specific error handling.
- **Testing Examples**: Basic examples for writing pytest tests for your package.
## Installation
To install the importable package, clone the repository and navigate to the project directory:
```bash
git clone https://github.com/DevelopersToolbox/template-package-importable.git
cd template-package-importable
```
It is recommended to use a virtual environment to manage dependencies. You can create and activate a virtual environment using the following commands:
```bash
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
```
Install the required dependencies:
```bash
pip install -r requirements.txt
```
## Project Structure
The project is organized as follows:
```sh
template-package-importable/
├── wolfsoftware/
│ └── template_package_importable/
│ ├── __init__.py
│ ├── exceptions.py
│ └── functions.py
├── tests/
│ ├── __init__.py
│ └── test_template_package_importable.py
├── README.md
├── setup.py
└── requirements.txt
```
- `wolfsoftware/template_package_importable`: Contains the core modules of the application.
- `exceptions.py`: Handles custom exceptions.
- `functions.py`: Defines some example functions (for testing).
- `tests`: Where the pytest tests are located.
- `test_template_package_importable.py`: The specific tests to run.
- `setup.py`: The package configuration.
- `requirements.txt`: Lists the dependencies required for the project.
- `README.md`: The file you are currently reading.
<br />
<p align="right"><a href="https://wolfsoftware.com/"><img src="https://img.shields.io/badge/Created%20by%20Wolf%20on%20behalf%20of%20Wolf%20Software-blue?style=for-the-badge" /></a></p>
Raw data
{
"_id": null,
"home_page": "https://github.com/DevelopersToolbox/template-package-importable",
"name": "wolfsoftware.template-package-importable",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "python, template",
"author": "Wolf Software",
"author_email": "pypi@wolfsoftware.com",
"download_url": "https://files.pythonhosted.org/packages/34/97/1a3f811b25502b469eff06399994884908fd94743da845092d04a886d4de/wolfsoftware_template_package_importable-0.1.2.tar.gz",
"platform": null,
"description": "<!-- markdownlint-disable -->\n<p align=\"center\">\n <a href=\"https://github.com/DevelopersToolbox/\">\n <img src=\"https://cdn.wolfsoftware.com/assets/images/github/organisations/developerstoolbox/black-and-white-circle-256.png\" alt=\"DevelopersToolbox logo\" />\n </a>\n <br />\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/actions/workflows/cicd.yml\">\n <img src=\"https://img.shields.io/github/actions/workflow/status/DevelopersToolbox/template-package-importable/cicd.yml?branch=master&label=build%20status&style=for-the-badge\" alt=\"Github Build Status\" />\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/blob/master/LICENSE.md\">\n <img src=\"https://img.shields.io/github/license/DevelopersToolbox/template-package-importable?color=blue&label=License&style=for-the-badge\" alt=\"License\">\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable\">\n <img src=\"https://img.shields.io/github/created-at/DevelopersToolbox/template-package-importable?color=blue&label=Created&style=for-the-badge\" alt=\"Created\">\n </a>\n <br />\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/releases/latest\">\n <img src=\"https://img.shields.io/github/v/release/DevelopersToolbox/template-package-importable?color=blue&label=Latest%20Release&style=for-the-badge\" alt=\"Release\">\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/releases/latest\">\n <img src=\"https://img.shields.io/github/release-date/DevelopersToolbox/template-package-importable?color=blue&label=Released&style=for-the-badge\" alt=\"Released\">\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/releases/latest\">\n <img src=\"https://img.shields.io/github/commits-since/DevelopersToolbox/template-package-importable/latest.svg?color=blue&style=for-the-badge\" alt=\"Commits since release\">\n </a>\n <br />\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/blob/master/.github/CODE_OF_CONDUCT.md\">\n <img src=\"https://img.shields.io/badge/Code%20of%20Conduct-blue?style=for-the-badge\" />\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/blob/master/.github/CONTRIBUTING.md\">\n <img src=\"https://img.shields.io/badge/Contributing-blue?style=for-the-badge\" />\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/blob/master/.github/SECURITY.md\">\n <img src=\"https://img.shields.io/badge/Report%20Security%20Concern-blue?style=for-the-badge\" />\n </a>\n <a href=\"https://github.com/DevelopersToolbox/template-package-importable/issues\">\n <img src=\"https://img.shields.io/badge/Get%20Support-blue?style=for-the-badge\" />\n </a>\n</p>\n\n## Overview\n\nThis is the package template that we use internally when creating new python based importable packages. It has all of the basic functionality and workflows needed to create,\nbuild and publish new package to [PyPI](https://pypi.org/).\n\nThis package template does NOT provide any cli functionality but instead is designed for creating importable packages.\n\nWe decided to make this available along with our other tools to allow people to use a well engineered starting point when creating their own tools.\n\nWe also provide 2 other templates which we use.\n\n- [template python project](https://github.com/DevelopersToolbox/template-python-project)\n- [template package cli](https://github.com/DevelopersToolbox/template-package-cli)\n\n## Features\n\n- **Modular Architecture**: Organize your code into modules for better maintainability.\n- **Custom Exceptions**: BAsic examples for implementing custom exceptions for specific error handling.\n- **Testing Examples**: Basic examples for writing pytest tests for your package.\n\n## Installation\n\nTo install the importable package, clone the repository and navigate to the project directory:\n\n```bash\ngit clone https://github.com/DevelopersToolbox/template-package-importable.git\ncd template-package-importable\n```\n\nIt is recommended to use a virtual environment to manage dependencies. You can create and activate a virtual environment using the following commands:\n\n```bash\npython -m venv venv\nsource venv/bin/activate # On Windows, use `venv\\Scripts\\activate`\n```\n\nInstall the required dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n## Project Structure\n\nThe project is organized as follows:\n\n```sh\ntemplate-package-importable/\n\u251c\u2500\u2500 wolfsoftware/\n\u2502 \u2514\u2500\u2500 template_package_importable/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 exceptions.py\n\u2502 \u2514\u2500\u2500 functions.py\n\u251c\u2500\u2500 tests/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2514\u2500\u2500 test_template_package_importable.py\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 setup.py\n\u2514\u2500\u2500 requirements.txt\n```\n\n- `wolfsoftware/template_package_importable`: Contains the core modules of the application.\n - `exceptions.py`: Handles custom exceptions.\n - `functions.py`: Defines some example functions (for testing).\n- `tests`: Where the pytest tests are located.\n - `test_template_package_importable.py`: The specific tests to run.\n- `setup.py`: The package configuration.\n- `requirements.txt`: Lists the dependencies required for the project.\n- `README.md`: The file you are currently reading.\n\n<br />\n<p align=\"right\"><a href=\"https://wolfsoftware.com/\"><img src=\"https://img.shields.io/badge/Created%20by%20Wolf%20on%20behalf%20of%20Wolf%20Software-blue?style=for-the-badge\" /></a></p>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A basic package template for importable packages.",
"version": "0.1.2",
"project_urls": {
"Documentation": "https://github.com/DevelopersToolbox/template-package-importable",
"Homepage": "https://github.com/DevelopersToolbox/template-package-importable",
"Source": "https://github.com/DevelopersToolbox/template-package-importable",
"Sponsor": "https://github.com/sponsors/WolfSoftware",
"Tracker": "https://github.com/wDevelopersToolbox/template-package-importable/issues/"
},
"split_keywords": [
"python",
" template"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "769575331dd9ee8e9d1d3b9bc28ab3891046bc984d6320ff0227861209285719",
"md5": "6c4fcfbd585cf3d33cd1c1be88907bdb",
"sha256": "5d52dbaf91a78e2e506d383f96266316c2a953dd6aff3b6f51cee60821710de8"
},
"downloads": -1,
"filename": "wolfsoftware.template_package_importable-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6c4fcfbd585cf3d33cd1c1be88907bdb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 5669,
"upload_time": "2024-06-26T11:45:15",
"upload_time_iso_8601": "2024-06-26T11:45:15.679012Z",
"url": "https://files.pythonhosted.org/packages/76/95/75331dd9ee8e9d1d3b9bc28ab3891046bc984d6320ff0227861209285719/wolfsoftware.template_package_importable-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34971a3f811b25502b469eff06399994884908fd94743da845092d04a886d4de",
"md5": "56f7d88dcf043c7f2c7c0ea3dfb76edd",
"sha256": "9f7e8d0cbb77fa25e01ead19dfb6cfc51c3f2b8893fd48b3b038b2e49c1dd158"
},
"downloads": -1,
"filename": "wolfsoftware_template_package_importable-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "56f7d88dcf043c7f2c7c0ea3dfb76edd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 5780,
"upload_time": "2024-06-26T11:45:19",
"upload_time_iso_8601": "2024-06-26T11:45:19.240739Z",
"url": "https://files.pythonhosted.org/packages/34/97/1a3f811b25502b469eff06399994884908fd94743da845092d04a886d4de/wolfsoftware_template_package_importable-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-26 11:45:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DevelopersToolbox",
"github_project": "template-package-importable",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "wolfsoftware.template-package-importable"
}