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 details)

Uploaded Source

File details

Details for the file alba-0.1.1.tar.gz.

File metadata

  • Download URL: alba-0.1.1.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for alba-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0bc17519715d710c3a64f390e83f5774ef2099032ea57cbb0563811fd47cac2a
MD5 dc561d96d377a972cf0712980ec15f77
BLAKE2b-256 b87c52521e2d845e8c24355831defe6bf5d5f690a21efc2d8e89ec5ab5ee3d4e

See more details on using hashes here.

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