From bc44299b6cd58696fd3baa54381a5e60dbe443ba Mon Sep 17 00:00:00 2001 From: hiddify-com Date: Wed, 10 Jul 2024 21:57:58 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Ready=20to=20clone=20and=20code.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/rename_project.sh | 10 +++++----- .github/template.yml | 1 - ABOUT_THIS_TEMPLATE.md | 4 ++-- CONTRIBUTING.md | 8 ++++---- Containerfile | 2 +- MANIFEST.in | 2 +- Makefile | 20 +++++++++---------- README.md | 20 +++++++++---------- {project_name => hiddifypanel_bot}/VERSION | 0 .../__init__.py | 0 hiddifypanel_bot/__main__.py | 6 ++++++ {project_name => hiddifypanel_bot}/base.py | 6 +++--- {project_name => hiddifypanel_bot}/cli.py | 4 ++-- mkdocs.yml | 2 +- project_name/__main__.py | 6 ------ setup.py | 16 +++++++-------- tests/test_base.py | 4 ++-- 17 files changed, 55 insertions(+), 56 deletions(-) delete mode 100644 .github/template.yml rename {project_name => hiddifypanel_bot}/VERSION (100%) rename {project_name => hiddifypanel_bot}/__init__.py (100%) create mode 100644 hiddifypanel_bot/__main__.py rename {project_name => hiddifypanel_bot}/base.py (66%) rename {project_name => hiddifypanel_bot}/cli.py (86%) delete mode 100644 project_name/__main__.py diff --git a/.github/rename_project.sh b/.github/rename_project.sh index 8f05495..a6a07b8 100755 --- a/.github/rename_project.sh +++ b/.github/rename_project.sh @@ -16,10 +16,10 @@ echo "Description: $description"; echo "Renaming project..." -original_author="author_name" -original_name="project_name" -original_urlname="project_urlname" -original_description="project_description" +original_author="hiddify" +original_name="hiddifypanel_bot" +original_urlname="hiddifypanel_bot" +original_description="Awesome hiddifypanel_bot created by hiddify" # for filename in $(find . -name "*.*") for filename in $(git ls-files) do @@ -30,7 +30,7 @@ do echo "Renamed $filename" done -mv project_name $name +mv hiddifypanel_bot $name # This command runs only once on GHA! rm -rf .github/template.yml diff --git a/.github/template.yml b/.github/template.yml deleted file mode 100644 index 3386bee..0000000 --- a/.github/template.yml +++ /dev/null @@ -1 +0,0 @@ -author: rochacbruno diff --git a/ABOUT_THIS_TEMPLATE.md b/ABOUT_THIS_TEMPLATE.md index 11795f3..af9466f 100644 --- a/ABOUT_THIS_TEMPLATE.md +++ b/ABOUT_THIS_TEMPLATE.md @@ -32,7 +32,7 @@ Lets take a look at the structure of this template: ├── Makefile # A collection of utilities to manage the project ├── MANIFEST.in # A list of files to include in a package ├── mkdocs.yml # Configuration for documentation site -├── project_name # The main python package for the project +├── hiddifypanel_bot # The main python package for the project │   ├── base.py # The base module for the project │   ├── __init__.py # This tells Python that this is a package │   ├── __main__.py # The entry point for the project @@ -109,7 +109,7 @@ I had to do some tricks to read that version variable inside the setuptools I decided to keep the version in a static file because it is easier to read from wherever I want without the need to install the package. -e.g: `cat project_name/VERSION` will get the project version without harming +e.g: `cat hiddifypanel_bot/VERSION` will get the project version without harming with module imports or anything else, it is useful for CI, logs and debugging. ### Why to include `tests`, `history` and `Containerfile` as part of the release? diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0d0dd72..6f60854 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # How to develop on this project -project_name welcomes contributions from the community. +hiddifypanel_bot welcomes contributions from the community. **You need PYTHON3!** @@ -8,9 +8,9 @@ This instructions are for linux base systems. (Linux, MacOS, BSD, etc.) ## Setting up your own fork of this repo. - On github interface click on `Fork` button. -- Clone your fork of this repo. `git clone git@github.com:YOUR_GIT_USERNAME/project_urlname.git` -- Enter the directory `cd project_urlname` -- Add upstream repo `git remote add upstream https://github.com/author_name/project_urlname` +- Clone your fork of this repo. `git clone git@github.com:YOUR_GIT_USERNAME/hiddifypanel_bot.git` +- Enter the directory `cd hiddifypanel_bot` +- Add upstream repo `git remote add upstream https://github.com/hiddify/hiddifypanel_bot` ## Setting up your own virtual environment diff --git a/Containerfile b/Containerfile index 83bb605..d6706e5 100644 --- a/Containerfile +++ b/Containerfile @@ -2,4 +2,4 @@ FROM python:3.7-slim COPY . /app WORKDIR /app RUN pip install . -CMD ["project_name"] +CMD ["hiddifypanel_bot"] diff --git a/MANIFEST.in b/MANIFEST.in index ef198d6..3a1737c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,4 +2,4 @@ include LICENSE include HISTORY.md include Containerfile graft tests -graft project_name +graft hiddifypanel_bot diff --git a/Makefile b/Makefile index 52d91ac..56ca925 100644 --- a/Makefile +++ b/Makefile @@ -26,20 +26,20 @@ install: ## Install the project in dev mode. .PHONY: fmt fmt: ## Format code using black & isort. - $(ENV_PREFIX)isort project_name/ - $(ENV_PREFIX)black -l 79 project_name/ + $(ENV_PREFIX)isort hiddifypanel_bot/ + $(ENV_PREFIX)black -l 79 hiddifypanel_bot/ $(ENV_PREFIX)black -l 79 tests/ .PHONY: lint lint: ## Run pep8, black, mypy linters. - $(ENV_PREFIX)flake8 project_name/ - $(ENV_PREFIX)black -l 79 --check project_name/ + $(ENV_PREFIX)flake8 hiddifypanel_bot/ + $(ENV_PREFIX)black -l 79 --check hiddifypanel_bot/ $(ENV_PREFIX)black -l 79 --check tests/ - $(ENV_PREFIX)mypy --ignore-missing-imports project_name/ + $(ENV_PREFIX)mypy --ignore-missing-imports hiddifypanel_bot/ .PHONY: test test: lint ## Run tests and generate coverage report. - $(ENV_PREFIX)pytest -v --cov-config .coveragerc --cov=project_name -l --tb=short --maxfail=1 tests/ + $(ENV_PREFIX)pytest -v --cov-config .coveragerc --cov=hiddifypanel_bot -l --tb=short --maxfail=1 tests/ $(ENV_PREFIX)coverage xml $(ENV_PREFIX)coverage html @@ -78,9 +78,9 @@ virtualenv: ## Create a virtual environment. release: ## Create a new tag for release. @echo "WARNING: This operation will create s version tag and push to github" @read -p "Version? (provide the next x.y.z semver) : " TAG - @echo "$${TAG}" > project_name/VERSION + @echo "$${TAG}" > hiddifypanel_bot/VERSION @$(ENV_PREFIX)gitchangelog > HISTORY.md - @git add project_name/VERSION HISTORY.md + @git add hiddifypanel_bot/VERSION HISTORY.md @git commit -m "release: version $${TAG} 🚀" @echo "creating git tag : $${TAG}" @git tag $${TAG} @@ -101,7 +101,7 @@ switch-to-poetry: ## Switch to poetry package manager. @poetry init --no-interaction --name=a_flask_test --author=rochacbruno @echo "" >> pyproject.toml @echo "[tool.poetry.scripts]" >> pyproject.toml - @echo "project_name = 'project_name.__main__:main'" >> pyproject.toml + @echo "hiddifypanel_bot = 'hiddifypanel_bot.__main__:main'" >> pyproject.toml @cat requirements.txt | while read in; do poetry add --no-interaction "$${in}"; done @cat requirements-test.txt | while read in; do poetry add --no-interaction "$${in}" --dev; done @poetry install --no-interaction @@ -109,7 +109,7 @@ switch-to-poetry: ## Switch to poetry package manager. @mv requirements* .github/backup @mv setup.py .github/backup @echo "You have switched to https://python-poetry.org/ package manager." - @echo "Please run 'poetry shell' or 'poetry run project_name'" + @echo "Please run 'poetry shell' or 'poetry run hiddifypanel_bot'" .PHONY: init init: ## Initialize the project based on an application template. diff --git a/README.md b/README.md index 21f444c..b3f32a8 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ See also - ✅ Code linting using [flake8](https://flake8.pycqa.org/en/latest/) - 📊 Code coverage reports using [codecov](https://about.codecov.io/sign-up/) - 🛳️ Automatic release to [PyPI](https://pypi.org) using [twine](https://twine.readthedocs.io/en/latest/) and github actions. -- 🎯 Entry points to execute your program using `python -m ` or `$ project_name` with basic CLI argument parsing. +- 🎯 Entry points to execute your program using `python -m ` or `$ hiddifypanel_bot` with basic CLI argument parsing. - 🔄 Continuous integration using [Github Actions](.github/workflows/) with jobs to lint, test and release your project on Linux, Mac and Windows environments. > Curious about architectural decisions on this template? read [ABOUT_THIS_TEMPLATE.md](ABOUT_THIS_TEMPLATE.md) @@ -51,33 +51,33 @@ See also --- -# project_name +# hiddifypanel_bot -[![codecov](https://codecov.io/gh/author_name/project_urlname/branch/main/graph/badge.svg?token=project_urlname_token_here)](https://codecov.io/gh/author_name/project_urlname) -[![CI](https://github.com/author_name/project_urlname/actions/workflows/main.yml/badge.svg)](https://github.com/author_name/project_urlname/actions/workflows/main.yml) +[![codecov](https://codecov.io/gh/hiddify/hiddifypanel_bot/branch/main/graph/badge.svg?token=hiddifypanel_bot_token_here)](https://codecov.io/gh/hiddify/hiddifypanel_bot) +[![CI](https://github.com/hiddify/hiddifypanel_bot/actions/workflows/main.yml/badge.svg)](https://github.com/hiddify/hiddifypanel_bot/actions/workflows/main.yml) -project_description +Awesome hiddifypanel_bot created by hiddify ## Install it from PyPI ```bash -pip install project_name +pip install hiddifypanel_bot ``` ## Usage ```py -from project_name import BaseClass -from project_name import base_function +from hiddifypanel_bot import BaseClass +from hiddifypanel_bot import base_function BaseClass().base_method() base_function() ``` ```bash -$ python -m project_name +$ python -m hiddifypanel_bot #or -$ project_name +$ hiddifypanel_bot ``` ## Development diff --git a/project_name/VERSION b/hiddifypanel_bot/VERSION similarity index 100% rename from project_name/VERSION rename to hiddifypanel_bot/VERSION diff --git a/project_name/__init__.py b/hiddifypanel_bot/__init__.py similarity index 100% rename from project_name/__init__.py rename to hiddifypanel_bot/__init__.py diff --git a/hiddifypanel_bot/__main__.py b/hiddifypanel_bot/__main__.py new file mode 100644 index 0000000..dae09dd --- /dev/null +++ b/hiddifypanel_bot/__main__.py @@ -0,0 +1,6 @@ +"""Entry point for hiddifypanel_bot.""" + +from hiddifypanel_bot.cli import main # pragma: no cover + +if __name__ == "__main__": # pragma: no cover + main() diff --git a/project_name/base.py b/hiddifypanel_bot/base.py similarity index 66% rename from project_name/base.py rename to hiddifypanel_bot/base.py index ac590b9..424193a 100644 --- a/project_name/base.py +++ b/hiddifypanel_bot/base.py @@ -1,7 +1,7 @@ """ -project_name base module. +hiddifypanel_bot base module. -This is the principal module of the project_name project. +This is the principal module of the hiddifypanel_bot project. here you put your main classes and objects. Be creative! do whatever you want! @@ -14,4 +14,4 @@ """ # example constant variable -NAME = "project_name" +NAME = "hiddifypanel_bot" diff --git a/project_name/cli.py b/hiddifypanel_bot/cli.py similarity index 86% rename from project_name/cli.py rename to hiddifypanel_bot/cli.py index 66e9ca1..cf4bc14 100644 --- a/project_name/cli.py +++ b/hiddifypanel_bot/cli.py @@ -1,4 +1,4 @@ -"""CLI interface for project_name project. +"""CLI interface for hiddifypanel_bot project. Be creative! do whatever you want! @@ -12,7 +12,7 @@ def main(): # pragma: no cover """ The main function executes on commands: - `python -m project_name` and `$ project_name `. + `python -m hiddifypanel_bot` and `$ hiddifypanel_bot `. This is your program's entry point. diff --git a/mkdocs.yml b/mkdocs.yml index 33a69ca..2854135 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,2 +1,2 @@ -site_name: project_name +site_name: hiddifypanel_bot theme: readthedocs diff --git a/project_name/__main__.py b/project_name/__main__.py deleted file mode 100644 index 2ba8b18..0000000 --- a/project_name/__main__.py +++ /dev/null @@ -1,6 +0,0 @@ -"""Entry point for project_name.""" - -from project_name.cli import main # pragma: no cover - -if __name__ == "__main__": # pragma: no cover - main() diff --git a/setup.py b/setup.py index 7547627..7b7292e 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -"""Python setup.py for project_name package""" +"""Python setup.py for hiddifypanel_bot package""" import io import os from setuptools import find_packages, setup @@ -6,7 +6,7 @@ def read(*paths, **kwargs): """Read the contents of a text file safely. - >>> read("project_name", "VERSION") + >>> read("hiddifypanel_bot", "VERSION") '0.1.0' >>> read("README.md") ... @@ -30,17 +30,17 @@ def read_requirements(path): setup( - name="project_name", - version=read("project_name", "VERSION"), - description="project_description", - url="https://github.com/author_name/project_urlname/", + name="hiddifypanel_bot", + version=read("hiddifypanel_bot", "VERSION"), + description="Awesome hiddifypanel_bot created by hiddify", + url="https://github.com/hiddify/hiddifypanel_bot/", long_description=read("README.md"), long_description_content_type="text/markdown", - author="author_name", + author="hiddify", packages=find_packages(exclude=["tests", ".github"]), install_requires=read_requirements("requirements.txt"), entry_points={ - "console_scripts": ["project_name = project_name.__main__:main"] + "console_scripts": ["hiddifypanel_bot = hiddifypanel_bot.__main__:main"] }, extras_require={"test": read_requirements("requirements-test.txt")}, ) diff --git a/tests/test_base.py b/tests/test_base.py index f1b765f..38aeef6 100644 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -1,5 +1,5 @@ -from project_name.base import NAME +from hiddifypanel_bot.base import NAME def test_base(): - assert NAME == "project_name" + assert NAME == "hiddifypanel_bot"