ShahriyarR / MySQL-AutoXtraBackup

MySQL-AutoXtraBackup commandline tool written in Python 3 based on Percona XtraBackup
https://autoxtrabackup.azepug.az/
MIT License
141 stars 79 forks source link

Python package management improvements #410

Closed ShahriyarR closed 3 years ago

ShahriyarR commented 4 years ago

To make this project professional-looking, shiny and as hell - we need to automate package building processes. Currently, the PyPi support even going through my hands manually. The sample setup.py file who everybody should read -> https://github.com/pypa/sampleproject/blob/master/setup.py Add more:

setuptools.setup( ... long_description = long_description, long_description_content_type = "text/markdown" ... )



Sample setup.py screenshot taken from https://www.youtube.com/watch?v=P3dY3uDmnkU

![sample_setup_py](https://user-images.githubusercontent.com/3852029/86468737-1c1ac480-bd49-11ea-806e-1de8fb529cea.png)

* Minimizing package size by excluding:

tests, docs, etc. should be excluded to minimize the package size.

* Figure out the way to handling secrets for upload. Possible ways of doing this:

![handling_pypi_secrets](https://user-images.githubusercontent.com/3852029/86469244-0e197380-bd4a-11ea-9875-a4b652ddd9d2.png)

> Will be updated
ShahriyarR commented 4 years ago

Now let's turn to automation. As you see we have an only a small amount of tests < 10% coverage - shame, shame, shame. But still here are my further considerations about this project - test automation and package automation: Excellent talk -> https://www.youtube.com/watch?v=-BHverY7IwU

I am going to use CircleCI for test and package build jobs. As a reference use this talk: https://youtu.be/P3dY3uDmnkU?t=1469

ShahriyarR commented 3 years ago

no need for this setup, I have switched to pyproject.toml + flit