The purpose of this program is to offer good programming practices in Python, when you want to build a program that can go to a production target. You can then look at how to structure a project and its various components. And inspire you to create a new project or improve the quality of existing projects.
Explore the docs
View Demo
·
Report Bug
·
Request Feature
The different topics that are covered in this model are:
- how to structure a project to deploy it in a production environment,
- that must contain a file requirement_dev.txt,
- that must contain files setup.cfg and setup.py,
- how to individually test components of a project with pytest,
- how to create logs that are visible on the console and also written in log files,
- how to configure the logs with an external yaml file,
- how to manage the exeptions of execution of a program,
- how to document your code to make it more understandable and use Sphinx to create the documentation of your project,
- how to structure your project to publish it in the form of a bookstore,
- how to document the project with sample files: readme.md, authors.md, contributing.md, installation.md, usage.md, ...
Extract from a file in RTF format a list of all the words in the file without repetition.
The object of this program is to read a text and extract the list of words without repetition. The functional interest is thus voluntarily limited, to allow a developer who wishes to take note of some good programming practices, to study them and to draw inspiration from them, without being too disturbed by the understanding of what the main program and its modules does.
To get a local copy up and running follow these simple steps.
- Clone the repo
git clone https://github.com/AntoineMeheut/GoodDevPractices
- Install python packages
pip3 install -r requirements_dev.txt
Clone this project to use it for your developments.
This project was structured with Cookiecutter_ to have a good example of a project in Python. You will find examples: tests components, modules structuring, documentation in the project components to then create the documentation with Sphinx and a mechanism for log management to the console and log files. Finally, this project can be packaged with Setuptools.
See the Project for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v3.0 License. See LICENSE
for more information.
If you want to contact me just clic
Project Link: https://github.com/AntoineMeheut/GoodDevPractices
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage
project template.