From 763701ce8ef9f9b15e5121d0618362166d9ec53f Mon Sep 17 00:00:00 2001 From: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com> Date: Sat, 2 Mar 2024 00:39:28 +0100 Subject: [PATCH] Update README.md --- README.md | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d88aa5a..c67bb07 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,17 @@ This repository contains a [cookiecutter](https://github.com/cookiecutter/cookie that can be used for library development. The template contains several well-known "best-practices" for libraries (poetry, poethepoet, mypy, ruff, nbqa) and also some tools inspired by projects of ours that we consider generally useful - build and release scripts, -auto-generation of documentation files, links for jumping directly to the correct place in the source code and others. +auto-generation of documentation files, and others. Earlier versions of this template were used in several industry projects as well as for open source libraries. -Build, install and tests of the library are run by default poetry tasks, the documentation is built with Jupyter-Books. -The template includes ci/cd pipelines for github actions. We make use of [github pages](https://pages.github.com/) through the -[github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action). You should configure the pages source to be the root directory of the branch gh-pages. +Build, install and tests of the library are run by default [poethepoet](https://github.com/nat-n/poethepoet) tasks, the documentation is built with Jupyter-Book. +The template includes CI/CD pipelines based on github actions. The documentation will be published to GitHub pages using an action. In the documentation links to source code will be created, therefore you will be prompted to give the project's url. -See the resulting repository's [developer's readme]({{cookiecutter.project_name}}/docs/04_contributing/04_contributing.rst) -for further details. An example of the current output of this template is in [pymetrius_output](https://github.com/appliedAI-Initiative/pymetrius_output) +See the resulting repository's [contributing guidelines]({{cookiecutter.project_name}}/docs/04_contributing/04_contributing.rst) +for further details. Some examples for projects following the general style of the template are [tianshou](https://github.com/thu-ml/tianshou) +and [armscan_env](https://github.com/appliedAI-Initiative/armscan_env/) # Usage @@ -22,8 +22,8 @@ for further details. An example of the current output of this template is in [py The template supports python 3.11 and higher. For a smooth project generation you need to have -1) Python of the correct version installed on your system. -2) Cookiecutter. Install it e.g. with `pip install cookiecutter` +1) Cookiecutter. Install it e.g. with `pip install cookiecutter` +2) Poetry (for using the new repository) ## Creating a new project @@ -37,11 +37,20 @@ cookiecutter https://github.com/appliedAI-Initiative/python_library_template -o and walk through the questions. You can also clone this repository, adjust the template and call cookiecutter on the local file. -You will get a repo in `/`, which will contain your new library installed in -"editable mode" (i.e. with `pip install -e`, we reccomend installing in poetry with `poetry install --with dev` ). -The virtual environment is created by poetry. Documentation is built with jupyter-book and is published on github pages. +You will get a repo in `/`. For finalizing the setup, you can `cd` into it, and call +e.g., + +```shell script +git init +poetry shell +poetry install --with dev +poe format +git add . && git commit -m "Initial commit from pymetrius" +``` + +Push to your branch and enjoy the fully setup pipelines and documentation! # Contributing -The core maintainers are Michael Panchenko and Adrian Rumpold at appliedAI. -We are happy about any contribution to this project, feel free to contact us directly or to open an issue or a pull request. \ No newline at end of file +The core maintainers are Michael Panchenko and Carlo Cagnetta at appliedAI. Initially, the project was also supported by Adrian Rumpold. +We are happy about any contribution to this project, feel free to contact us directly or to open an issue or a pull request.