<!-- markdownlint-disable -->
<p align="center">
<a href="https://github.com/GreyTeamToolbox/">
<img src="https://cdn.wolfsoftware.com/assets/images/github/organisations/greyteamtoolbox/black-and-white-circle-256.png" alt="GreyTeamToolbox logo" />
</a>
<br />
<a href="https://github.com/GreyTeamToolbox/baseline-package-importable/actions/workflows/cicd.yml">
<img src="https://img.shields.io/github/actions/workflow/status/GreyTeamToolbox/baseline-package-importable/cicd.yml?branch=master&label=build%20status&style=for-the-badge" alt="Github Build Status" />
</a>
<a href="https://github.com/GreyTeamToolbox/baseline-package-importable/blob/master/LICENSE.md">
<img src="https://img.shields.io/github/license/GreyTeamToolbox/baseline-package-importable?color=blue&label=License&style=for-the-badge" alt="License">
</a>
<a href="https://github.com/GreyTeamToolbox/baseline-package-importable">
<img src="https://img.shields.io/github/created-at/GreyTeamToolbox/baseline-package-importable?color=blue&label=Created&style=for-the-badge" alt="Created">
</a>
<br />
<a href="https://github.com/GreyTeamToolbox/baseline-package-importable/releases/latest">
<img src="https://img.shields.io/github/v/release/GreyTeamToolbox/baseline-package-importable?color=blue&label=Latest%20Release&style=for-the-badge" alt="Release">
</a>
<a href="https://github.com/GreyTeamToolbox/baseline-package-importable/releases/latest">
<img src="https://img.shields.io/github/release-date/GreyTeamToolbox/baseline-package-importable?color=blue&label=Released&style=for-the-badge" alt="Released">
</a>
<a href="https://github.com/GreyTeamToolbox/baseline-package-importable/releases/latest">
<img src="https://img.shields.io/github/commits-since/GreyTeamToolbox/baseline-package-importable/latest.svg?color=blue&style=for-the-badge" alt="Commits since release">
</a>
<br />
<a href="https://github.com/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-package-importable/issues">
<img src="https://img.shields.io/badge/Get%20Support-blue?style=for-the-badge" />
</a>
</p>
## Overview
## Overview
This is the baseline package template that we use internally when creating new python based tools for the [Blue Team Toolbox](https://github.com/BlueTeamToolbox)
and [Red Team Toolbox](https://github.com/RedTeamToolbox). 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.
If you are looking for a template to use for creating cli based tools we provide one of those too. [baseline package cli](https://github.com/GreyTeamToolbox/baseline-package-cli).
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 have a [baseline project](https://github.com/GreyTeamToolbox/baseline-project) which can be used to create scripts and tools for local
execution. It comes with all the same base functionality but without the package build and publish.
## 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 Baseline Package, clone the repository and navigate to the project directory:
```bash
git clone https://github.com/GreyTeamToolbox/baseline-package-importable.git
cd baseline-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
baseline-package-importable/
├── wolfsoftware/
│ └── baseline_package_importable/
│ ├── __init__.py
│ ├── exceptions.py
│ └── functions.py
├── tests/
│ ├── __init__.py
│ └── test_baseline_package_importable.py
├── README.md
├── setup.py
└── requirements.txt
```
- `wolfsoftware/baseline_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_baseline_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/GitHubToolbox/baseline-package-importable",
"name": "wolfsoftware.baseline-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/11/51/53e6b4ab11e12af587ff95859ebe0d78762a5b0a0a48c7408ba7d16257fc/wolfsoftware_baseline_package_importable-0.1.0.tar.gz",
"platform": null,
"description": "<!-- markdownlint-disable -->\n<p align=\"center\">\n <a href=\"https://github.com/GreyTeamToolbox/\">\n <img src=\"https://cdn.wolfsoftware.com/assets/images/github/organisations/greyteamtoolbox/black-and-white-circle-256.png\" alt=\"GreyTeamToolbox logo\" />\n </a>\n <br />\n <a href=\"https://github.com/GreyTeamToolbox/baseline-package-importable/actions/workflows/cicd.yml\">\n <img src=\"https://img.shields.io/github/actions/workflow/status/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-package-importable/blob/master/LICENSE.md\">\n <img src=\"https://img.shields.io/github/license/GreyTeamToolbox/baseline-package-importable?color=blue&label=License&style=for-the-badge\" alt=\"License\">\n </a>\n <a href=\"https://github.com/GreyTeamToolbox/baseline-package-importable\">\n <img src=\"https://img.shields.io/github/created-at/GreyTeamToolbox/baseline-package-importable?color=blue&label=Created&style=for-the-badge\" alt=\"Created\">\n </a>\n <br />\n <a href=\"https://github.com/GreyTeamToolbox/baseline-package-importable/releases/latest\">\n <img src=\"https://img.shields.io/github/v/release/GreyTeamToolbox/baseline-package-importable?color=blue&label=Latest%20Release&style=for-the-badge\" alt=\"Release\">\n </a>\n <a href=\"https://github.com/GreyTeamToolbox/baseline-package-importable/releases/latest\">\n <img src=\"https://img.shields.io/github/release-date/GreyTeamToolbox/baseline-package-importable?color=blue&label=Released&style=for-the-badge\" alt=\"Released\">\n </a>\n <a href=\"https://github.com/GreyTeamToolbox/baseline-package-importable/releases/latest\">\n <img src=\"https://img.shields.io/github/commits-since/GreyTeamToolbox/baseline-package-importable/latest.svg?color=blue&style=for-the-badge\" alt=\"Commits since release\">\n </a>\n <br />\n <a href=\"https://github.com/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-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/GreyTeamToolbox/baseline-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\n## Overview\n\nThis is the baseline package template that we use internally when creating new python based tools for the [Blue Team Toolbox](https://github.com/BlueTeamToolbox)\nand [Red Team Toolbox](https://github.com/RedTeamToolbox). 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\nIf you are looking for a template to use for creating cli based tools we provide one of those too. [baseline package cli](https://github.com/GreyTeamToolbox/baseline-package-cli).\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 have a [baseline project](https://github.com/GreyTeamToolbox/baseline-project) which can be used to create scripts and tools for local\nexecution. It comes with all the same base functionality but without the package build and publish.\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 Baseline Package, clone the repository and navigate to the project directory:\n\n```bash\ngit clone https://github.com/GreyTeamToolbox/baseline-package-importable.git\ncd baseline-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\nbaseline-package-importable/\n\u251c\u2500\u2500 wolfsoftware/\n\u2502 \u2514\u2500\u2500 baseline_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_baseline_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/baseline_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_baseline_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.0",
"project_urls": {
"Documentation": "https://github.com/GitHubToolbox/baseline-package-importable",
"Homepage": "https://github.com/GitHubToolbox/baseline-package-importable",
"Source": "https://github.com/GitHubToolbox/baseline-package-importable",
"Sponsor": "https://github.com/sponsors/WolfSoftware",
"Tracker": "https://github.com/GitHubToolbox/baseline-package-importable/issues/"
},
"split_keywords": [
"python",
" template"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "56b0b291468a837cb1b509b8206fb6eef070e78c1465c876b180f1c252710b67",
"md5": "db2e8f4187ab72ee7ba28c91469c55bd",
"sha256": "e065edb600b7f0d42e59b71a3cb2e7d691d627b1fedf9fc8f0933f60ed688ef0"
},
"downloads": -1,
"filename": "wolfsoftware.baseline_package_importable-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "db2e8f4187ab72ee7ba28c91469c55bd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 5821,
"upload_time": "2024-05-25T20:33:54",
"upload_time_iso_8601": "2024-05-25T20:33:54.525351Z",
"url": "https://files.pythonhosted.org/packages/56/b0/b291468a837cb1b509b8206fb6eef070e78c1465c876b180f1c252710b67/wolfsoftware.baseline_package_importable-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "115153e6b4ab11e12af587ff95859ebe0d78762a5b0a0a48c7408ba7d16257fc",
"md5": "2378b1d8335923f45889dc670548f717",
"sha256": "c617023725c646ebe7d935d1ea5014261b3875878a98c1efab16f528443f05e4"
},
"downloads": -1,
"filename": "wolfsoftware_baseline_package_importable-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "2378b1d8335923f45889dc670548f717",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 7430,
"upload_time": "2024-05-25T20:33:55",
"upload_time_iso_8601": "2024-05-25T20:33:55.718619Z",
"url": "https://files.pythonhosted.org/packages/11/51/53e6b4ab11e12af587ff95859ebe0d78762a5b0a0a48c7408ba7d16257fc/wolfsoftware_baseline_package_importable-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-25 20:33:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GitHubToolbox",
"github_project": "baseline-package-importable",
"github_not_found": true,
"lcname": "wolfsoftware.baseline-package-importable"
}