Skip to main content

ALBA controls meta package

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alba-0.1.1.tar.gz (2.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page