Skip to content

AntoineMeheut/GoodDevPractices

Repository files navigation

Open in Gitpod

Contributors Forks Stargazers Issues GNU License


Logo

Python GoodDevPractices

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

Table of Contents

About The Project

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, ...

UniqueWordList

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.

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. Clone the repo
git clone https://github.com/AntoineMeheut/GoodDevPractices
  1. Install python packages
pip3 install -r requirements_dev.txt

Usage

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.

Roadmap

See the Project for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License v3.0 License. See LICENSE for more information.

Contact

If you want to contact me just clic

Project Link: https://github.com/AntoineMeheut/GoodDevPractices

Acknowledgements

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

Sharing good development practices in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published