From f9037273e848f3526a4c028cd9d244e5d3f2be7b Mon Sep 17 00:00:00 2001 From: Simon Diesenreiter Date: Sun, 10 Nov 2024 07:24:43 -0800 Subject: [PATCH] more cleanup --- .gitea/init.sh | 4 ++-- ABOUT_THIS_TEMPLATE.md | 3 --- CONTRIBUTING.md | 12 ++++++------ Makefile | 4 ++-- README.md | 22 ++++++++-------------- 5 files changed, 18 insertions(+), 27 deletions(-) diff --git a/.gitea/init.sh b/.gitea/init.sh index c6b0a55..bc4a760 100755 --- a/.gitea/init.sh +++ b/.gitea/init.sh @@ -10,7 +10,7 @@ do done if [ -z "${template}" ]; then - echo "Available templates: flask" + echo "Available templates: Flask" read -p "Enter template name: " template fi @@ -32,7 +32,7 @@ function download_template { } echo "Using template:${template}" -template_url="https://github.com/rochacbruno/${template}-project-template" +template_url="https://git.disi.dev/Templates/${template}" template_dir=".gitea/templates/${template}" if [ -d "${template_dir}" ]; then # Template directory already exists diff --git a/ABOUT_THIS_TEMPLATE.md b/ABOUT_THIS_TEMPLATE.md index b5db2cc..988751a 100644 --- a/ABOUT_THIS_TEMPLATE.md +++ b/ABOUT_THIS_TEMPLATE.md @@ -93,11 +93,8 @@ People automating CI for your project will be grateful for having a setup.py fil ### Why isn't this template made as a cookiecutter template? I really like [cookiecutter](https://github.com/cookiecutter/cookiecutter) and it is a great way to create new projects, -but for this template I wanted to use the Github `Use this template` button, to use this template doesn't require to install extra tooling such as cookiecutter. -Just click on [Use this template](https://github.com/rochacbruno/python-project-template/generate) and you are good to go. - The substituions are done using gitea actions and a simple sed script. ### Why `VERSION` is kept in a static plain text file? diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0d0dd72..02fc87f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,10 +7,10 @@ project_name welcomes contributions from the community. 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` +- On gitea interface click on `Fork` button. +- Clone your fork of this repo. `git clone git@git.disi.dev: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` +- Add upstream repo `git remote add upstream https://git.disi.dev/author_name/project_urlname` ## Setting up your own virtual environment @@ -65,7 +65,7 @@ Run `git push origin my_contribution` ## Submit a pull request -On github interface, click on `Pull Request` button. +On gitea interface, click on `Pull Request` button. Wait CI to run and one of the developers will review your PR. ## Makefile utilities @@ -94,8 +94,8 @@ init: ## Initialize the project based on an application template. ## Making a new release This project uses [semantic versioning](https://semver.org/) and tags releases with `X.Y.Z` -Every time a new tag is created and pushed to the remote repo, github actions will -automatically create a new release on github and trigger a release on PyPI. +Every time a new tag is created and pushed to the remote repo, gitea actions will +automatically create a new release on gitea and trigger a release on PyPI. For this to work you need to setup a secret called `PIPY_API_TOKEN` on the project settings>secrets, this token can be generated on [pypi.org](https://pypi.org/account/). diff --git a/Makefile b/Makefile index 6e2897e..21ab7ac 100644 --- a/Makefile +++ b/Makefile @@ -76,7 +76,7 @@ virtualenv: ## Create a virtual environment. .PHONY: release release: ## Create a new tag for release. - @echo "WARNING: This operation will create s version tag and push to github" + @echo "WARNING: This operation will create a version tag and push to gitea" @read -p "Version? (provide the next x.y.z semver) : " TAG @echo "$${TAG}" > project_name/VERSION @$(ENV_PREFIX)gitchangelog > HISTORY.md @@ -85,7 +85,7 @@ release: ## Create a new tag for release. @echo "creating git tag : $${TAG}" @git tag $${TAG} @git push -u origin HEAD --tags - @echo "Github Actions will detect the new tag and release the new version." + @echo "Gitea Actions will detect the new tag and release the new version." .PHONY: docs docs: ## Build the documentation. diff --git a/README.md b/README.md index 27ed1b0..86369cb 100644 --- a/README.md +++ b/README.md @@ -4,27 +4,24 @@ A low dependency and really simple to start project template for Python Projects. See also -- [Flask-Project-Template](https://github.com/rochacbruno/flask-project-template/) for a full feature Flask project including database, API, admin interface, etc. -- [FastAPI-Project-Template](https://github.com/rochacbruno/fastapi-project-template/) The base to start an openapi project featuring: SQLModel, Typer, FastAPI, JWT Token Auth, Interactive Shell, Management Commands. +- [Flask-Project-Template](https://git.disi.dev/Templates/Flask/) for a full feature Flask project including database, API, admin interface, etc. ### HOW TO USE THIS TEMPLATE -1. Choose a name for your project - (e.g. `my_awesome_project` recommendation is to use all lowercase and underscores separation for repo names.) -2. Replace all text instances of "project_name" in this repo with your new name +1. Create a new repository from this template and choose a name for your project + (e.g. `my_awesome_project` - recommendation is to use all lowercase and underscores separation for repo names.) +2. Wait until the first run of CI finishes (Gitea Actions will process the template and commit to your new repo) 3. If you want Automatic Release to [PyPI](https://pypi.org) On the new repository `settings->secrets` add your `PYPI_API_TOKEN` (get the tokens on PyPI website) 4. Read the file [CONTRIBUTING.md](CONTRIBUTING.md) 5. Then clone your new project and happy coding! -> **NOTE**: **WAIT** until first CI run on github actions before cloning your new project. +> **NOTE**: **WAIT** until first CI run on gitea actions before cloning your new project. ### What is included on this template? - ๐Ÿ–ผ๏ธ Templates for starting multiple application types: - * **Basic low dependency** Python program (default) [use this template](https://github.com/rochacbruno/python-project-template/generate) - * **Flask** with database, admin interface, restapi and authentication [use this template](https://github.com/rochacbruno/flask-project-template/generate). - **or Run `make init` after cloning to generate a new project based on a template.** + **Run `make init` after cloning to generate a new project based on a template.** - ๐Ÿ“ฆ A basic [setup.py](setup.py) file to provide installation, packaging and distribution for your project. Template uses setuptools because it's the de-facto standard for Python packages, you can run `make switch-to-poetry` later if you want. - ๐Ÿค– A [Makefile](Makefile) with the most useful commands to install, test, lint, format and release your project. @@ -34,14 +31,11 @@ See also `Containerfile` is a more open standard for building container images than Dockerfile, you can use buildah or docker with this file. - ๐Ÿงช Testing structure using [pytest](https://docs.pytest.org/en/latest/) - โœ… Code linting using [flake8](https://flake8.pycqa.org/en/latest/) -- ๐Ÿ›ณ๏ธ Automatic release to [PyPI](https://pypi.org) using [twine](https://twine.readthedocs.io/en/latest/) and github actions. +- ๐Ÿ›ณ๏ธ Automatic release to [PyPI](https://pypi.org) using [twine](https://twine.readthedocs.io/en/latest/) and gitea actions. - ๐ŸŽฏ Entry points to execute your program using `python -m ` or `$ project_name` with basic CLI argument parsing. -- ๐Ÿ”„ Continuous integration using [Github Actions](.gitea/workflows/) with jobs to lint, test and release your project on Linux, Mac and Windows environments. +- ๐Ÿ”„ Continuous integration using [Gitea Actions](.gitea/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) -> If you want to contribute to this template please open an [issue](https://github.com/rochacbruno/python-project-template/issues) or fork and send a PULL REQUEST. - -[โค๏ธ Sponsor this project](https://github.com/sponsors/rochacbruno/)