From 6f9dfc903195640182ec0a8096e51f8dfe96491e Mon Sep 17 00:00:00 2001 From: Leah Wasser Date: Tue, 5 Dec 2023 11:29:54 -0700 Subject: [PATCH] Add: second lesson and images to pr --- images/tutorials/code-to-script-diagram.png | Bin 0 -> 34904 bytes .../tutorials/environment-package-install.png | Bin 0 -> 64023 bytes tutorials/1-installable-code.md | 469 ++++++++++++++++++ 3 files changed, 469 insertions(+) create mode 100644 images/tutorials/code-to-script-diagram.png create mode 100644 images/tutorials/environment-package-install.png create mode 100644 tutorials/1-installable-code.md diff --git a/images/tutorials/code-to-script-diagram.png b/images/tutorials/code-to-script-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..5f14f3ed321d6b6a105c61d53e4342f32373e0d8 GIT binary patch literal 34904 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 N1fH&bF6*2UngGYq3AF$K literal 0 HcmV?d00001 diff --git a/images/tutorials/environment-package-install.png b/images/tutorials/environment-package-install.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f131a4c22b7e7038afcf67ab05b56b7e2d2431 GIT binary patch literal 64023 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

&ct{gRQM? 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 literal 0 HcmV?d00001 diff --git a/tutorials/1-installable-code.md b/tutorials/1-installable-code.md new file mode 100644 index 00000000..7dc0d5e6 --- /dev/null +++ b/tutorials/1-installable-code.md @@ -0,0 +1,469 @@ +# Make your Python code pip installable + +The first step in creating a Python package based on code that you +have is to make that code pip installable. You will learn how to make +your code pip installable in this lesson. + + + +:::{figure-md} code-to-script + +Diagram showing the basic steps to creating an installable package. There are 4 boxes with arrows pointing towards the right. The boxes read, your code, create package structure, add metadata to pyproject.toml and pip install package. + +A basic installable package needs a few things. Code, a specific package structure and a `pyproject.toml` containing your package's name and version. Once you have these items in the correct directory structure, you can pip install your package into any environment on your computer. +::: + +:::{admonition} Learning Objectives +:class: tip + +In this lesson you will learn: + +- How to make your code installable into a Python environment +- How to create a basic `pyproject.toml` file to declare dependencies and metadata +- How to declare a build backend which will be used to build and install your package (learn more about what build back ends are here - link to guide) +- How to install your package in editable mode for interactive development + +To complete this lesson you will need a local Python (development) +environment. You are welcome to use any environment manager that you chose. + +* [If you need guidance creating a Python environment, review this lesson](extras/1-create-environment.md) which walks you through creating an environment using both `venv` and `conda`. +* If you aren't sure which environment manager to use and +you are a scientist, we suggest that you use `conda`. +::: + +## Make your package installable + + +:::{figure-md} packages-environment + +This diagram has two smaller boxes with arrows pointing to the right to a python environment. The small boxes read your-package and pip install package. The environment box on the right reads - your python environment. It them lists your-package along with a few other core packages such as matplotlib, numpy, pandas, xarray and geopandas. + +Making your code pip installable is the first step towards creating a Python package. Once it is pip installable, you can add it to any Python environment on your computer and import that package in the same way that you might import a package such as `Pandas` or `Geopandas`. +::: + +## Make a basic Python package + +It’s time to create the most basic version of a Python package. +While this code can't be yet published to PyPI or conda and +is not documented, it will be installable on your computer or +anyone elses. + +### What does a basic package directory structure look like? +To make your code installable you need: + +- A `pyproject.toml` file +- An (optional but recommended) `__init__.py` file in your code directory +- A specific directory structure +- Some code. + +The directory structure you’ll create in this first section looks like this: + +```bash +pyospackage/ + └─ pyproject.toml + └─ src/ # The src directory ensures your tests always run on the installed + └── pyospackage/ # Package directory where code lives, use the package name + ├── __init__.py + ├── add_numbers.py + └── # Add any other .py modules that you want here +``` + +Below, you will learn about each element of the above package structure. + +### About the basic package directory structure + +Notice a few things about the above layout: + +1. Your package code lives within a `src/packagename` directory. We suggest that you use `src/` directory as it ensure you are running tests on the installed version of your code. However, you are welcome to instead use a [flat layout](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-structure.html#about-the-flat-python-package-layout) which does not have a src/ directory at the root. [Learn more here.](https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-structure.html#the-src-layout-and-testing) +2. Within the `src/` directory you have a package directory called `pyospackage/`. Use the name of your package for that directory name. +3. In your package directory, you have an `__init__.py` file and all of your Python modules. +4. The `pyproject.toml` file lives at the root directory of your package. + +## Init.py and pyproject.toml files + +The `__init__.py` and `pyproject.toml` files in the above layout +are important to understand. More on that below. + +### What is an init.py file? + +The `__init__.py` file tells Python that the directory it’s in should be treated as a Python package. +The `__init__.py` file also: + +- Allows you to organize multiple modules within the package. +- Allows you to create shortcuts for importing specific functions, and classes into your code (more on that later!) +- Allows you to create a version object for people to call **version** + +:::{admonition} The **init**.py file +:class: tip + +Since Python 3.3 came out, you can install a package without an `__init__.py` file. However, we suggest that you include it in your package structure as it allows you to customize your package’s user experience. +::: + +### What is a pyproject.toml file? + +The **pyproject.toml** file is: + +- Where you store your project’s metadata (including its name, authors, license, etc) +- Where you store dependencies (the packages that it depends on) +- Used to specify and configure what build back end you want to use to build your package distributions that are used for PyPI publication. + +After the `__init__.py` and `pyproject.toml` files have been added, your package can be built and distributed as an installable Python package using tools such as pip. Note that the `pyproject.toml` file needs to have the a few basic items defined for it to be installable including: + +- The `build-backend` that you want to use, +- The project `name` and `version`. + +:::{admonition} Why the pyproject.toml file is important +:class: tip + +The `pyproject.toml` file replaces some of the functionality of both the setup.py file and setup.cfg files. +If you try to pip install a package with no `pyproject.toml` you will get the following error: + +```bash +GitHub/pyospackage/testme +➜ pip install . +ERROR: Directory '.' is not installable. +Neither 'setup.py' nor 'pyproject.toml' found. +``` + +::: + +## Try it yourself - Create your package! + +Now that you understand the basics, it's time to create a Python package! Below you will create a directory structure similar to the structure described above. + +If you don’t wish to create each of the files and directories below, you can always [fork and clone and customize the pyOpenSci example package, here.](https://github.com/pyOpenSci/pyosPackage) + +### Step 1: Set Up the Package Directory Structure + +Create a new directory for your package. Choose a name for your package, preferably in lowercase and without spaces (e.g., "pyospackage_yourname"). + +Inside the package directory, + +- Create a `src/` directory +- Within the `src/` directory, create a directory that is named after your package. This subdirectory will contain your package’s code. +- It is ok if the main directory of your package and the directory in `src/` have the same name + +Next create two files: + +- Inside the package directory, create a new file named `__init__.py` . This file ensures Python sees this directory as a package. You will use this file to customize how parts of your package are imported and to declare your package’s version in a future lesson. +- At the root of your directory, create a file called `pyproject.toml` + +Your final package directory structure should look like this: + +``` +pyospackage/ + └─ pyproject.toml + └─ src/ + └── pyospackage_yourname/ + ├── __init__.py +``` + +### Step 2: Add code to your package + +Within the `pyospackage` subdirectory, add 1 or more Python modules +(.py files) containing the code that you want your package to access and run. +If you don't have code already and are just learning how to +create a Python +package, then create an empty `add_numbers.py` file. + +:::{admonition} Python modules and the __init__.py file +:class: tip + +When you see the word module, we are referring to a `.py` file containing Python +code. + +The _init_.py allows Python to recognize that a directory contains at least one +module that may be imported and used in your code. A package can have multiple +modules. + +[Learn more about Python packages and modules in the python documentation.](https://docs.python.org/3/tutorial/modules.html#packages ) + +::: + +``` +pyospackage/ + └─ pyproject.toml + └─ src/ + └── pyospackage/ + ├── __init__.py + ├── add_numbers.py + +``` + +### Step 3. Add code to your `add_numbers` module + +If you are following along and making a Python package from scratch then you can add the code below to your `add_numbers.py` module. The function below adds two integers together and returns the result. Notice that the code below has a few features that we will review in future tutorials: + +1. It has a [numpy-style docstring ](https://www.pyopensci.org/python-package-guide/documentation/write-user-documentation/document-your-code-api-docstrings.html#three-python-docstring-formats-and-why-we-like-numpy-style) +2. It uses [typing](https://www.pyopensci.org/python-package-guide/documentation/write-user-documentation/document-your-code-api-docstrings.html#adding-type-hints-to-your-docstrings) + +If you aren’t familiar with docstrings or typing yet, that is ok. We will get +to it later in our tutorial series. Or, you can review the pyOpenSci [packaging guide](https://www.pyopensci.org/python-package-guide/documentation/write-user-documentation/document-your-code-api-docstrings.html) +for an overview. + +```python +def add_num(a: int, b: int) -> int: + """ + Add two numbers. + + Parameters + ---------- + a : int + The first number to be added. + b : int + The second number to be added. + + Returns + ------- + int + The sum of the two input numbers (a + b). + + Examples + -------- + >>> add_num(3, 5) + 8 + >>> add_num(-2, 7) + 5 + """ + return a + b +``` + +### Step 4. Add metadata to your `pyproject.toml` file + +Next, you will add some metadata (information) to your `pyproject.toml` file. You are +are welcome to copy the file we have in our example repo here. + +:::{admonition} Brief overview of the TOML file +:class: tip + +The TOML format consists of tables and variables. Tables are sections of information denoted by square brackets: + +`[this-is-a-table]`. + +Tables can contain variables within them defined by an variable name and +an `=` sign. For +instance, a `build-system` table most often holds 2 variables: + +1. `requires = `, which tells a build tool what tools it needs to install prior to building your package. in this case is + [hatchling](https://pypi.org/project/hatchling/) +2. `build-backend` is used to define specific build-backend name, (in this example we are using `hatchling.build`). + +TOML organizes data structures, defining relationships within a configuration +file. You will learn more about the `pyproject.toml` format in the +[next lesson when you add additional metadata / information to this file.](5-pyproject-toml.md) + +```toml +# An example of the build-system table which contains two variables - requires and build-backend +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" +``` + +[Learn more about the pyproject.toml format here.](../package-structure-code/pyproject-toml-python-package-metadata) +::: + +- Open up your `pyproject.toml` file in your favorite text editor. +- Add the metadata below to your `pyproject.toml` + +```toml +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "pyospackage_gh_user_name" # rename this if you plan to publish to test PyPI +# Here you add the package version manually. You will learn how to setup # dynamic versioning in a followup tutorial. +version="1.1" + +``` + +Note that above you manually add your package's version number to the +`pyproject.toml` file. You will learn how to automate defining a package +version using git tags in the version and release your package lesson. + +:::{admonition} The bare minimum needed in a pyproject.toml file +:class: tip + +The core basic information that you need in a `pyproject.toml` file in order to publish on PyPI is your **package's name** and the **version**. However, we suggest that you flesh out your metadata early on in the `pyproject.toml` file. + +Once you have your project metadata in the pyproject.toml file, you will +rarely update it. In the next lesson you’ll add more metadata and structure to this file. +::: + +### Step 5. Install your package locally + +At this point you should have: + +1. A project directory structure with a `pyproject.toml` file at the root +2. A package directory containing an empty `__init__.py` file and +3. At least one Python module (e.g. `add_numbers.py`) + +You are now ready to install (and build) your Python package! + +Let’s try it out. + +- First open bash and `cd` into your package directory +- Activate the Python environment that you wish to use. If you need help with working with virtual environments [check out this lesson](extras/1-create-environment.md). +- Finally run `python -m pip install -e .` + +```bash +# Activate your environment using conda or venv +# Below we use conda but you can do the same thing with venv! +> conda activate pyosdev +(pyosdev) +>> conda info + active environment : pyosdev + active env location : /Users/your-path/mambaforge/envs/pyosdev +# Install the package +>> python -m pip install -e . + +Obtaining file:///Users/leahawasser/Documents/GitHub/pyos/pyosPackage + Installing build dependencies ... done + Checking if build backend supports build_editable ... done + Getting requirements to build editable ... done + +# Check to see if the package is installed +> conda list +# use pip list instead of conda list here if you are working in an venv environment rather than a conda envt +``` + +:::{admonition} What does `pip install -e .` do? +:class: tip + +Let's break down `pip install -e .` + +`pip install -e .` installs your package into the current active +Python environment in **editable mode** (`-e`). Installing your package in +editable mode, allows you to work on your code and then test the updates +interactively in your favorite Python interface. One important caveat of editable mode is that every time you update your code, you may need to restart your Python kernel. + +If you wish to install the package regularly (not in editable +mode) you can use: + +- `python -m pip install . ` + +**Using `python -m` when calling `pip`** + +Above, you use`python -m` to call the version of pip installed into your +current active environment. `python -m` is important to ensure that you are +calling the version of pip installed in your current environment. +::: + +#### Look for pyospackage in your environment + +Once you have installed your package, you can view it in your current +environment. If you are using `venv` or `conda`, `pip` list will allow you +to see your current package installations. + +Note that because pyospackage is installed in editable mode (`-e`) pip will show you the past to where you package installation's code +is. + +```bash +$ pip list + +➜ pip list +Package Version Editable project location +----------------------------- -------------- -------------------------------------------------------------- +... +arrow 1.2.3 +... +... +mamba 1.1.0 +markdown-it-py 2.2.0 +MarkupSafe 2.1.2 +matplotlib 3.7.1 +msgpack 1.0.5 +mypy 1.4.1 +nox 2021.10.1 +numpy 1.24.2 +packaging 23.0 +pandas 1.5.3 +pyosPackage 0.1.0 /Users/yourusername/path/here/pyosPackage +... +... +... +``` + +### 6. Test out your new package + +After installing your package, type “python” at the command prompt to start +a Python session in your active Python environment. + +You can now import your package and access the `add_num` function. + +```bash +➜ python +Python 3.11.4 | packaged by conda-forge | (main, Jun 10 2023, 18:08:41) [Clang 15.0.7 ] on darwin +Type "help", "copyright", "credits" or "license" for more information. +>>> import pyospackage +>>> pyospackage.add_num(1, 2) +3 +``` + + + + +## OPTIONAL: Customize access to Python functions using the `__init__.py` file + +Let's make one more tweak to the code. + +If `add_num` is a function that you think users will use often, you may want to add it to your `__init__.py` file to allow them to import the function directly from the package rather than from the module. + +### Add functions to your `__init__.py` file + +To make a function or class available at the package level to a user, you can add it to the `__init__.py` file. + +- Open the `__init__.py` file . +- At the top of the file add the import below. + +```python +from pyospackage.add_numbers import add_num +``` + +Save the file. + +Now, open up a NEW Python terminal or restart your Python kernel. + +:::{admonition} Don't forget to restart your Python kernel! +:class: important + +It's important that you restart your Python kernel if you wish to access the changes to your code that you just made. +::: + +```python +> python +Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:41:52) [Clang 15.0.7 ] on darwin +Type "help", "copyright", "credits" or "license" for more information. +>>> from pyospackage import add_num +>>> add_num(1,2) +3 +``` + +The decision to add specific functions, methods or classes to your +`__init__.py` file is up to you. However be sure that you do this thoughtfully +considering what functionality in your package you want to "elevate" to the top +level vs. what makes the most sense to keep in individual modules. + +### Congratulations! You created (the beginning of) your first Python package + +You did it! You have now created a Python package that you can install into any Python environment. While there is still more to do, you have completed the first major step. + +In the upcoming lessons you will: + +* Add a [README file](2-add-readme.md) and [LICENSE ](4-add-license-file.md) to your package +* [Add more metadata to your `pyproject.toml`](5-pyproject-toml.md) file to support PyPI publication. +* [Learn how to build your your package distribution](6-publish-pypi.md) files (**sdist** and **wheel**) and publish to **test PyPI**. +* Finally you will learn how to publish to **conda-forge** from **PyPI**. + +If you have a package that is ready for the mainstream user then +you can also publish your package on PyPI.