Licenties toevoegen en READMEs schrijven

Python-pakketten ontwikkelen

James Fulton

Climate informatics researcher

Waarom heb ik een licentie nodig?

  • Om anderen toestemming te geven jouw code te gebruiken
Python-pakketten ontwikkelen

Open-sourcelicenties

  • Meer info vind je hier
  • Sta gebruikers toe om
    • je package te gebruiken
    • je package te wijzigen
    • versies van je package te verspreiden
1 https://choosealicense.com
Python-pakketten ontwikkelen

Wat is een README?

  • De “homepage” van je package
  • Weergegeven op GitHub of PyPI
Python-pakketten ontwikkelen

Wat zet je in een README

README-secties

  • Titel
  • Beschrijving en features
  • Installatie
  • Voorbeelden van gebruik
  • Bijdragen
  • Licentie
Python-pakketten ontwikkelen

README-indeling

Markdown (CommonMark)

  • Staat in het bestand README.md
  • Eenvoudiger
  • Gebruikt in deze course en in de praktijk
reStructuredText

  • Staat in het bestand README.rst
  • Complexer
  • Ook veelgebruikt in de praktijk
Python-pakketten ontwikkelen

CommonMark

Inhoud van README.md














`

Zo ziet de weergave eruit

Python-pakketten ontwikkelen

CommonMark

Inhoud van README.md

# mysklearn

mysklearn is een package voor complete **lineaire regressie** in Python.
Meer info over dit package vind je op [DataCamp](https://datacamp.com)

Zo ziet de weergave eruit

mysklearn

mysklearn is een package voor complete lineaire regressie in python.

Meer info over dit package vind je op DataCamp

Python-pakketten ontwikkelen

CommonMark

Inhoud van README.md

# mysklearn

mysklearn is een package voor complete **lineaire regressie** in Python.
Meer info over dit package vind je op [DataCamp](https://datacamp.com)
## Installatie Je kunt dit package installeren met

Zo ziet de weergave eruit

mysklearn

mysklearn is een package voor complete lineaire regressie in python.

Meer info over dit package vind je op DataCamp

Installatie

Je kunt dit package installeren met

Python-pakketten ontwikkelen

CommonMark

Inhoud van README.md

# mysklearn
mysklearn is een package voor complete 
**lineaire regressie** in Python.

Meer info over dit package vind je 
op [DataCamp](https://datacamp.com)

## Installatie
Je kunt dit package installeren met

```
pip install mysklearn
```

Zo ziet de weergave eruit

mysklearn

mysklearn is een package voor complete lineaire regressie in python.

Meer info over dit package vind je op DataCamp

Installatie

Je kunt dit package installeren met

pip install mysklearn
Python-pakketten ontwikkelen

Deze bestanden toevoegen aan je package

Mapstructuur voor package met subpackages

mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE      <--- nieuwe bestanden
|-- README.md    <--- toegevoegd aan hoofdmap
Python-pakketten ontwikkelen

MANIFEST.in

Somt alle extra bestanden op die je in je distributie wilt opnemen.

Python-pakketten ontwikkelen

MANIFEST.in

Inhoud van MANIFEST.in

include LICENSE
include README.md
mysklearn/
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- ...
|   |-- regression
|   |   |-- ...
|   |-- utils.py
|-- setup.py
|-- requirements.txt
|-- LICENSE
|-- README.md
|-- MANIFEST.in   <---
Python-pakketten ontwikkelen

Laten we oefenen!

Python-pakketten ontwikkelen

Preparing Video For Download...