pytere


Namepytere JSON
Version 0.7.0 PyPI version JSON
download
home_pagehttps://github.com/astariul/pytere
SummaryA Python Template Repository
upload_time2024-06-18 12:22:04
maintainerNone
docs_urlNone
authorNicolas REMOND
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">pytere</h1>
<p align="center">
Python Template repository
</p>

<p align="center">
    <a href="https://github.com/astariul/pytere/releases"><img src="https://img.shields.io/github/release/astariul/pytere.svg" alt="GitHub release" /></a>
    <a href="https://github.com/astariul/pytere/actions/workflows/pytest.yaml"><img src="https://github.com/astariul/pytere/actions/workflows/pytest.yaml/badge.svg" alt="Test status" /></a>
    <a href="https://github.com/astariul/pytere/actions/workflows/lint.yaml"><img src="https://github.com/astariul/pytere/actions/workflows/lint.yaml/badge.svg" alt="Lint status" /></a>
    <img src="https://gist.githubusercontent.com/astariul/f3c492434596e8f0ae0d5fad12966f64/raw/coverage.svg" alt="Coverage status" />
    <a href="https://astariul.github.io/pytere"><img src="https://img.shields.io/website?down_message=failing&label=docs&up_color=green&up_message=passing&url=https%3A%2F%2Fastariul.github.io%2Fpytere" alt="Docs" /></a>
    <br>
    <a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json" alt="ruff" /></a>
    <a href="https://github.com/pre-commit/pre-commit"><img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white" alt="pre-commit"></a>
    <a href="https://github.com/astariul/pytere/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="licence" /></a>
</p>

<p align="center">
  <a href="#description">Description</a> •
  <a href="#install">Install</a> •
  <a href="#usage">Usage</a> •
  <a href="#use-this-template">Use this template</a> •
  <a href="#faq">FAQ</a> •
  <a href="#contribute">Contribute</a>
  <br>
  <a href="https://astariul.github.io/pytere/" target="_blank">Documentation</a>
</p>


<h2 align="center">Description</h2>

**`pytere`** stands for **Py**thon **te**mplate **re**pository.

It's just a template repository for python, with the following features :

* 📚 Beautiful documentation with [Material for Mkdocs](https://squidfunk.github.io/mkdocs-material/), published as a Github page with [mike](https://github.com/jimporter/mike) automatically
* ✨ Modern code style checks with [ruff](https://github.com/astral-sh/ruff)
* 🅿️ Easy development with [pre-commit hooks](https://pre-commit.com/)
* ✅ Tests with [pytest](https://docs.pytest.org/) and automatic coverage without external tools
* :octocat: CI with [Github actions](https://github.com/features/actions)
* 📝 Issues & PR templates
* 🤖 Stale bot & Dependabot
* 🚀 Releases automatically published to PyPi


<h2 align="center">Install</h2>

Install `pytere` by running :


```
pip install pytere
```

---

For development, you can install it locally by first cloning the repository :

```
git clone https://github.com/astariul/pytere.git
cd pytere
pip install -e .
```

Or, if you use [Github CLI](https://cli.github.com/), use:
```
gh repo fork astariul/pytere
```

<h2 align="center">Usage</h2>

`pytere` does not contain any useful code because it's a template repository.  
But you can check if the package is correctly installed with :

```python
from pytere import is_odd

print(is_odd(2))  # False
```


<h2 align="center">Use this template</h2>

To use this template, click the button "Use this template" :

<p align="center">
  <a href="https://github.com/astariul/pytere/generate"><img src="https://img.shields.io/badge/%20-Use%20this%20template-green?style=for-the-badge&color=347d39" alt="Use template" /></a>
</p>

It will prompt you to create a new Github repository.

Then replace the content in your freshly created repository, with your own package name, own code, and update the links to point to your own repository.

> [!IMPORTANT]  
> Check the [documentation](https://astariul.github.io/pytere/latest/usage/) for a comprehensive, step-by-step guide on how to use the template.


<h2 align="center">FAQ</h2>

#### ❓ **Why creating yet another template, there is already plenty on the internet ?**

True, but I couldn't find one that entirely satisfies my needs and uses
the tools I want.

For example, a lot of templates use **Sphinx** for the documentation, but I'm much more comfortable with **MkDocs**. Or the test coverage was provided by an external tool, but I wanted everything in Github. Etc...  
Hence the creation of this repository.

#### ❓ **Can I use this template for a private repository ?**

Absolutely !

But some things might not work (for example the release badge), and you might want to remove some features (like automatically pushing to PyPi, or publishing the documentation to Github page)

<h2 align="center">Contribute</h2>

To contribute, install the package locally, create your own branch, add your code (and tests, and documentation), and open a PR !

### Pre-commit hooks

Pre-commit hooks are set to check the code added whenever you commit something.

> [!NOTE]  
> If you never ran the hooks before, install it with :
> ```bash
> pip install -e .[hook]
> pre-commit install
> ```

Then you can just try to commit your code. If your code does not meet the quality required by linters, it will not be committed. You can just fix your code and try to commit again !

> [!TIP]
> You can manually run the pre-commit hooks with :
> ```bash
> pre-commit run --all-files
> ```

### Tests

When you contribute, you need to make sure all the unit-tests pass. You should also add tests if necessary !

> [!NOTE]  
> Install the testing dependencies with :
> ```bash
> pip install -e .[test]
> ```

You can run the tests with :

```bash
pytest
```

---

Tests are not included in the pre-commit hooks, because running the tests might be slow, and for the sake of developpers we want the pre-commit hooks to be fast !

### Documentation

The documentation should be kept up-to-date. You can visualize the documentation locally by running :

```bash
mkdocs serve
```

> [!NOTE]  
> Before running this, you need to install the documentation dependencies :
> ```bash
> pip install -e .[docs]
> ```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/astariul/pytere",
    "name": "pytere",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Nicolas REMOND",
    "author_email": "remondnicola@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/39/c4/a3a149effab14d2f1f143482cf9400c9637badbbf6f9c62b676070b47d5f/pytere-0.7.0.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">pytere</h1>\n<p align=\"center\">\nPython Template repository\n</p>\n\n<p align=\"center\">\n    <a href=\"https://github.com/astariul/pytere/releases\"><img src=\"https://img.shields.io/github/release/astariul/pytere.svg\" alt=\"GitHub release\" /></a>\n    <a href=\"https://github.com/astariul/pytere/actions/workflows/pytest.yaml\"><img src=\"https://github.com/astariul/pytere/actions/workflows/pytest.yaml/badge.svg\" alt=\"Test status\" /></a>\n    <a href=\"https://github.com/astariul/pytere/actions/workflows/lint.yaml\"><img src=\"https://github.com/astariul/pytere/actions/workflows/lint.yaml/badge.svg\" alt=\"Lint status\" /></a>\n    <img src=\"https://gist.githubusercontent.com/astariul/f3c492434596e8f0ae0d5fad12966f64/raw/coverage.svg\" alt=\"Coverage status\" />\n    <a href=\"https://astariul.github.io/pytere\"><img src=\"https://img.shields.io/website?down_message=failing&label=docs&up_color=green&up_message=passing&url=https%3A%2F%2Fastariul.github.io%2Fpytere\" alt=\"Docs\" /></a>\n    <br>\n    <a href=\"https://github.com/astral-sh/ruff\"><img src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"ruff\" /></a>\n    <a href=\"https://github.com/pre-commit/pre-commit\"><img src=\"https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white\" alt=\"pre-commit\"></a>\n    <a href=\"https://github.com/astariul/pytere/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"licence\" /></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#description\">Description</a> \u2022\n  <a href=\"#install\">Install</a> \u2022\n  <a href=\"#usage\">Usage</a> \u2022\n  <a href=\"#use-this-template\">Use this template</a> \u2022\n  <a href=\"#faq\">FAQ</a> \u2022\n  <a href=\"#contribute\">Contribute</a>\n  <br>\n  <a href=\"https://astariul.github.io/pytere/\" target=\"_blank\">Documentation</a>\n</p>\n\n\n<h2 align=\"center\">Description</h2>\n\n**`pytere`** stands for **Py**thon **te**mplate **re**pository.\n\nIt's just a template repository for python, with the following features :\n\n* \ud83d\udcda Beautiful documentation with [Material for Mkdocs](https://squidfunk.github.io/mkdocs-material/), published as a Github page with [mike](https://github.com/jimporter/mike) automatically\n* \u2728 Modern code style checks with [ruff](https://github.com/astral-sh/ruff)\n* \ud83c\udd7f\ufe0f Easy development with [pre-commit hooks](https://pre-commit.com/)\n* \u2705 Tests with [pytest](https://docs.pytest.org/) and automatic coverage without external tools\n* :octocat: CI with [Github actions](https://github.com/features/actions)\n* \ud83d\udcdd Issues & PR templates\n* \ud83e\udd16 Stale bot & Dependabot\n* \ud83d\ude80 Releases automatically published to PyPi\n\n\n<h2 align=\"center\">Install</h2>\n\nInstall `pytere` by running :\n\n\n```\npip install pytere\n```\n\n---\n\nFor development, you can install it locally by first cloning the repository :\n\n```\ngit clone https://github.com/astariul/pytere.git\ncd pytere\npip install -e .\n```\n\nOr, if you use [Github CLI](https://cli.github.com/), use:\n```\ngh repo fork astariul/pytere\n```\n\n<h2 align=\"center\">Usage</h2>\n\n`pytere` does not contain any useful code because it's a template repository.  \nBut you can check if the package is correctly installed with :\n\n```python\nfrom pytere import is_odd\n\nprint(is_odd(2))  # False\n```\n\n\n<h2 align=\"center\">Use this template</h2>\n\nTo use this template, click the button \"Use this template\" :\n\n<p align=\"center\">\n  <a href=\"https://github.com/astariul/pytere/generate\"><img src=\"https://img.shields.io/badge/%20-Use%20this%20template-green?style=for-the-badge&color=347d39\" alt=\"Use template\" /></a>\n</p>\n\nIt will prompt you to create a new Github repository.\n\nThen replace the content in your freshly created repository, with your own package name, own code, and update the links to point to your own repository.\n\n> [!IMPORTANT]  \n> Check the [documentation](https://astariul.github.io/pytere/latest/usage/) for a comprehensive, step-by-step guide on how to use the template.\n\n\n<h2 align=\"center\">FAQ</h2>\n\n#### \u2753 **Why creating yet another template, there is already plenty on the internet ?**\n\nTrue, but I couldn't find one that entirely satisfies my needs and uses\nthe tools I want.\n\nFor example, a lot of templates use **Sphinx** for the documentation, but I'm much more comfortable with **MkDocs**. Or the test coverage was provided by an external tool, but I wanted everything in Github. Etc...  \nHence the creation of this repository.\n\n#### \u2753 **Can I use this template for a private repository ?**\n\nAbsolutely !\n\nBut some things might not work (for example the release badge), and you might want to remove some features (like automatically pushing to PyPi, or publishing the documentation to Github page)\n\n<h2 align=\"center\">Contribute</h2>\n\nTo contribute, install the package locally, create your own branch, add your code (and tests, and documentation), and open a PR !\n\n### Pre-commit hooks\n\nPre-commit hooks are set to check the code added whenever you commit something.\n\n> [!NOTE]  \n> If you never ran the hooks before, install it with :\n> ```bash\n> pip install -e .[hook]\n> pre-commit install\n> ```\n\nThen you can just try to commit your code. If your code does not meet the quality required by linters, it will not be committed. You can just fix your code and try to commit again !\n\n> [!TIP]\n> You can manually run the pre-commit hooks with :\n> ```bash\n> pre-commit run --all-files\n> ```\n\n### Tests\n\nWhen you contribute, you need to make sure all the unit-tests pass. You should also add tests if necessary !\n\n> [!NOTE]  \n> Install the testing dependencies with :\n> ```bash\n> pip install -e .[test]\n> ```\n\nYou can run the tests with :\n\n```bash\npytest\n```\n\n---\n\nTests are not included in the pre-commit hooks, because running the tests might be slow, and for the sake of developpers we want the pre-commit hooks to be fast !\n\n### Documentation\n\nThe documentation should be kept up-to-date. You can visualize the documentation locally by running :\n\n```bash\nmkdocs serve\n```\n\n> [!NOTE]  \n> Before running this, you need to install the documentation dependencies :\n> ```bash\n> pip install -e .[docs]\n> ```\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python Template Repository",
    "version": "0.7.0",
    "project_urls": {
        "Homepage": "https://github.com/astariul/pytere"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f004b4de3d2c69e37e4296484ccf4170d32c276d62cc7c554f6598d0cb6b6a81",
                "md5": "b4915b402beedcbef44829e038d841f6",
                "sha256": "8ec4bef1eb55b5c758c798611ab5ff51bcbfebcc93c33bfd2d03228c1282ed3b"
            },
            "downloads": -1,
            "filename": "pytere-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b4915b402beedcbef44829e038d841f6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4782,
            "upload_time": "2024-06-18T12:22:02",
            "upload_time_iso_8601": "2024-06-18T12:22:02.617518Z",
            "url": "https://files.pythonhosted.org/packages/f0/04/b4de3d2c69e37e4296484ccf4170d32c276d62cc7c554f6598d0cb6b6a81/pytere-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39c4a3a149effab14d2f1f143482cf9400c9637badbbf6f9c62b676070b47d5f",
                "md5": "d5cd960ce8c8ef0b4ca14de5e7a6a834",
                "sha256": "682fd0c61f5ceb1e5c59099568acee7b95e1b0f4ad2fed06bb7ac1ef03941350"
            },
            "downloads": -1,
            "filename": "pytere-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d5cd960ce8c8ef0b4ca14de5e7a6a834",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5914,
            "upload_time": "2024-06-18T12:22:04",
            "upload_time_iso_8601": "2024-06-18T12:22:04.915574Z",
            "url": "https://files.pythonhosted.org/packages/39/c4/a3a149effab14d2f1f143482cf9400c9637badbbf6f9c62b676070b47d5f/pytere-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-18 12:22:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "astariul",
    "github_project": "pytere",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pytere"
}
        
Elapsed time: 0.24272s