Skip to main content

ALBA synchrotron python meta package

This is ALBA synchrotron python meta package.

Namespaces are one honking great idea -- let's do more of those!

source: The Zen of Python, by Tim Peters

How to create an alba sub-module

Let's say a new high pressure lab has been installed at ALBA which requires specific software. The goal is the user can type:

import alba.hplab

... to have access to ALBA's specific high pressure lab software.

Preparation

In the future there might be a cookie cutter for this. For now we have to bootstrap the project by hand:

  1. create a directory called hplab and enter it.
  2. create a directory called alba
  3. create a alba/__init__.py file with a single line:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)

It is crucial that the alba/__init__.py has this precise contents and no more.

  1. create a setup.py has usual. Here is a minimal version:
# setup.py

from setuptools import setup, find_packages

setup(
    name="alba-hplab",
    author="ALBA controls team",
    author_email="controls-software@cells.es",
    packages=find_packages(),
    description="ALBA controls HP Lab software",
    version="0.0.1"
)
  1. create a alba/hplab directory. This is where you should put the specific code for ALBA's HP lab.

By now you should have a structure like this

hplab/
├── alba
│   ├── hplab
│   │   └── __init__.py
│   └── __init__.py
└── setup.py

That's it! If you publish your package on pypi you will be able to install your software anywere with:

pip install alba-hplab

Metadata

Release files for alba 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alba 0.1.1
File Size Uploaded
alba-0.1.1.tar.gz 2.1 kB Details

Release files / alba-0.1.1.tar.gz

Download URL alba-0.1.1.tar.gz
Size 2.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0bc17519715d710c3a64f390e83f5774ef2099032ea57cbb0563811fd47cac2a
BLAKE2b-256 checksum
How to use checksums
b87c52521e2d845e8c24355831defe6bf5d5f690a21efc2d8e89ec5ab5ee3d4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.0.post20200616 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page