Skip to main content

A Python manager for the modules __all__ variable.

Project description

AllStar

Allstar is a simple library for modules __all__ iterable management.

The __all__ iterable is used to define what is imported when you use from module import *. This kind of import is used by project mappers like documentation generators. It is important because, for example, you don't want to generate the documentation for the defined classes and all the imported ones.

it is called "allstar" because __all__ is imported using an star ( * ) symbol

Installation

pip install allstar

Usage

Basic usage

from allstar import Star

# manager instance
# __name__ is used to reference the module and its attributes
star = Star(__name__)

# star.sign adds a callable to the __all__ iterable
@star.sign
class TheClass:
    pass

@star.sign
def the_function():
    pass

print(__all__)  # prints: ['TheClass', 'the_function']

Extended usage

import os, sys, builtins

from allstar import Star

__all__ = ['os']  # Star preserves the previous names

star = Star(__name__)

star.include('builtins')  # include names using strings or references

star.include_all(['os', 'sys'])  # include names using iterables

Some extra features

from allstar import Star

star = Star(__name__)

star.empty()  # empties the __all__ iterable

star.freeze()  # turns the __all__ iterable into a tuple

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

allstar-1.1.3.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

allstar-1.1.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file allstar-1.1.3.tar.gz.

File metadata

  • Download URL: allstar-1.1.3.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for allstar-1.1.3.tar.gz
Algorithm Hash digest
SHA256 0239e53d6be95b6c0e11ae8b88dc8c058a1a251a137472bc1416ab7fafa8329e
MD5 4e7ebeec06ecb91d7ff1cf3a69979063
BLAKE2b-256 656f0c6b389d9801f2645427a6c8641c6cbb35af06bfb28f190d0a0213267b25

See more details on using hashes here.

File details

Details for the file allstar-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: allstar-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for allstar-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 df34057ad3304d71b66bf78e38b3f5840be81291f3f6215ea45817bfa11822bf
MD5 175342fffc5db2ba8b1af23311dc3eb9
BLAKE2b-256 acccabe21a75f71a57ada6fac712e20fcb536147ce1a556107e50ab08477a143

See more details on using hashes here.

Supported by

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