Versioni e cronologia

Sviluppare pacchetti Python

James Fulton

Climate informatics researcher

File finali

  • CONTRIBUTING.md
  • HISTORY.md
mysklearn/
|-- mysklearn/
|   |-- __init__.py
|   `-- mysklearn.py
|-- tests/
|   |-- __init__.py
|   `-- test_mysklearn.py
|-- MANIFEST.in
|-- README.md
|-- requirements_dev.txt
|-- setup.cfg
|-- setup.py
|-- tox.ini
|-- AUTHORS.md
|-- CONTRIBUTING.md  <-- nuovi file
|-- HISTORY.md       <--
`-- Makefile
Sviluppare pacchetti Python

CONTRIBUTING.md

  • In markdown o reStructuredText
  • Invita altri sviluppatori a contribuire al tuo package
  • Spiega come iniziare
Sviluppare pacchetti Python

HISTORY.md

es. Note di rilascio di NumPy

  • Conosciuto come cronologia, changelog o note di rilascio
  • Indica agli utenti cosa è cambiato tra le versioni
Sviluppare pacchetti Python

HISTORY.md

  • Sezione per ogni versione rilasciata
  • Elenchi puntati dei cambiamenti importanti
  • Sottosezioni per
# History

## 0.3.0 ## 0.2.1 ## 0.2.0
Sviluppare pacchetti Python

HISTORY.md

  • Sezione per ogni versione rilasciata
  • Elenchi puntati dei cambiamenti importanti
  • Sottosezioni per
    • Migliorie a funzioni esistenti
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.




## 0.2.1



## 0.2.0











Sviluppare pacchetti Python

HISTORY.md

  • Sezione per ogni versione rilasciata
  • Elenchi puntati dei cambiamenti importanti
  • Sottosezioni per
    • Migliorie a funzioni esistenti
    • Nuove aggiunte
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.




## 0.2.1



## 0.2.0
### Added
- Multiple linear regression now available in new 
  `regression.multiple_regression` module.








Sviluppare pacchetti Python

HISTORY.md

  • Sezione per ogni versione rilasciata
  • Elenchi puntati dei cambiamenti importanti
  • Sottosezioni per
    • Migliorie a funzioni esistenti
    • Nuove aggiunte
    • Bug corretti
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.




## 0.2.1
### Fixed
- Fixed bug causing intercepts of zero.

## 0.2.0
### Added
- Multiple linear regression now available in new 
  `regression.multiple_regression` module.








Sviluppare pacchetti Python

HISTORY.md

  • Sezione per ogni versione rilasciata
  • Elenchi puntati dei cambiamenti importanti
  • Sottosezioni per
    • Migliorie a funzioni esistenti
    • Nuove aggiunte
    • Bug corretti
    • Deprecazioni
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.
### Deprecated
- Il supporto per Python 3.5 è terminato.
- Il modulo `regression.regression` è stato rimosso.

## 0.2.1
### Fixed
- Corretto bug che causava intercette pari a zero.

## 0.2.0
### Added
- Regressione lineare multipla ora disponibile nel nuovo 
  modulo `regression.multiple_regression`.
### Deprecated
- La 0.2.x sarà l'ultima versione che supporta Python 3.5.
- Il modulo `regression.regression` è stato rinominato 
  `regression.single_regression`. `regression.regression` sarà 
  rimosso nella prossima minor release.


Sviluppare pacchetti Python

History

0.3.0

Changed
  • Regression fitting sped up using NumPy operations.
Deprecated
  • Il supporto per Python 3.5 è terminato.
  • Il modulo regression.regression è stato rimosso.

0.2.1

Fixed
  • Corretto bug che causava intercette pari a zero.

0.2.0

Added
  • Regressione lineare multipla ora disponibile nel nuovo modulo regression.multiple_regression.
Deprecated
  • La 0.2.x sarà l'ultima versione che supporta Python 3.5.
  • Il modulo regression.regression è stato rinominato regression.single_regression. regression.regression sarà rimosso nella prossima minor release.
Sviluppare pacchetti Python

Numero di versione

  • Aumenta la versione quando sei pronto per un nuovo rilascio
  • Non puoi caricare su PyPI se non è cambiata
mysklearn/
|-- mysklearn/
|   |-- __init__.py         <---
|   `-- mysklearn.py
|-- setup.py                <---
...
Sviluppare pacchetti Python

Il numero di versione del package

setup.py

# Import required functions
from setuptools import setup, find_packages

# Call setup function
setup(
    ...
    version='0.1.0',  <---
    ...

)

Top level __init__.py

"""
Linear regression for Python
============================

mysklearn is a complete package for implmenting
linear regression in python. 
"""

__version__ = '0.1.0'  <---
print(mysklearn.__version__)
0.1.0
Sviluppare pacchetti Python

bumpversion

  • Strumento comodo per aggiornare tutti i numeri di versione del package
bumpversion major
bumpversion minor
bumpversion patch
mysklearn/    <--   vai qui
|-- mysklearn/
|   |-- __init__.py
|   `-- mysklearn.py
|-- setup.py
...
Sviluppare pacchetti Python

Esercitiamoci!

Sviluppare pacchetti Python

Preparing Video For Download...