Numery wersji i historia

Tworzenie pakietów w Pythonie

James Fulton

Climate informatics researcher

Pliki końcowe

  • 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  <-- new files
|-- HISTORY.md       <--
`-- Makefile
Tworzenie pakietów w Pythonie

CONTRIBUTING.md

  • Markdown lub reStructuredText
  • Zachęca innych deweloperów do pracy nad pakietem
  • Informuje, jak zacząć
Tworzenie pakietów w Pythonie

HISTORY.md

np. informacje o wydaniach NumPy

  • Znany jako historia, dziennik zmian lub informacje o wydaniu
  • Informuje użytkowników o zmianach między wersjami
Tworzenie pakietów w Pythonie

HISTORY.md

  • Sekcja dla każdej wydanej wersji
  • Punkty z najważniejszymi zmianami
  • Podsekcje dla
# History

## 0.3.0 ## 0.2.1 ## 0.2.0
Tworzenie pakietów w Pythonie

HISTORY.md

  • Sekcja dla każdej wydanej wersji
  • Punkty z najważniejszymi zmianami
  • Podsekcje dla
    • Ulepszeń istniejących funkcji
# History

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




## 0.2.1



## 0.2.0











Tworzenie pakietów w Pythonie

HISTORY.md

  • Sekcja dla każdej wydanej wersji
  • Punkty z najważniejszymi zmianami
  • Podsekcje dla
    • Ulepszeń istniejących funkcji
    • Nowych dodatków
# 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.








Tworzenie pakietów w Pythonie

HISTORY.md

  • Sekcja dla każdej wydanej wersji
  • Punkty z najważniejszymi zmianami
  • Podsekcje dla
    • Ulepszeń istniejących funkcji
    • Nowych dodatków
    • Naprawionych błędów
# 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.








Tworzenie pakietów w Pythonie

HISTORY.md

  • Sekcja dla każdej wydanej wersji
  • Punkty z najważniejszymi zmianami
  • Podsekcje dla
    • Ulepszeń istniejących funkcji
    • Nowych dodatków
    • Naprawionych błędów
    • Wycofanych funkcji
# History

## 0.3.0
### Changed
- Regression fitting sped up using NumPy operations.
### Deprecated
- Support for Python 3.5 has ended.
- `regression.regression` module has been removed.

## 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.
### Deprecated
- 0.2.x will be the last version that supports Python 3.5.
- `regression.regression` module has been renamed 
  `regression.single_regression`. `regression.regression` will be 
  removed in next minor release.


Tworzenie pakietów w Pythonie

Historia

0.3.0

Zmieniono
  • Dopasowywanie regresji przyspieszone przy użyciu operacji NumPy.
Wycofano
  • Wsparcie dla Pythona 3.5 zostało zakończone.
  • Moduł regression.regression został usunięty.

0.2.1

Naprawiono
  • Naprawiono błąd powodujący zerowe wyrazy wolne.

0.2.0

Dodano
  • Wielokrotna regresja liniowa dostępna w nowym module regression.multiple_regression.
Wycofano
  • 0.2.x to ostatnia wersja z obsługą Pythona 3.5.
  • Moduł regression.regression został przemianowany na regression.single_regression. Moduł regression.regression zostanie usunięty w kolejnym wydaniu podrzędnym.
Tworzenie pakietów w Pythonie

Numer wersji

  • Zwiększ numer wersji przed nowym wydaniem
  • Bez zmiany przesłanie do PyPI jest niemożliwe
mysklearn/
|-- mysklearn/
|   |-- __init__.py         <---
|   `-- mysklearn.py
|-- setup.py                <---
...
Tworzenie pakietów w Pythonie

Numer wersji pakietu

setup.py

# Import required functions
from setuptools import setup, find_packages

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

)

Główny plik __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
Tworzenie pakietów w Pythonie

bumpversion

  • Wygodne narzędzie do aktualizacji numerów wersji pakietu
bumpversion major
bumpversion minor
bumpversion patch
mysklearn/    <--   navigate to here
|-- mysklearn/
|   |-- __init__.py
|   `-- mysklearn.py
|-- setup.py
...
Tworzenie pakietów w Pythonie

Czas na ćwiczenia!

Tworzenie pakietów w Pythonie

Preparing Video For Download...