Skip to main content

Small helper library for creating named scopes/inline modules

Project description

nya-scope (import name: nya_scope)

Small helper library for creating named scopes/inline modules Classes marked explicitly as scopes prevent intialization with a runtime error

Style Guide (optional)

You are free to adopt it in full, part, or not for your for your project, this is just what I found the most convenient for my projects for visual clarity & separation from other (regular) classes.

  1. Append __ after every name of classes that inherit from Scope:
    class ExampleScope__(Scope):
    	example_field = 42
    
  2. Manually mark all methods as either @staticmethod (and always provide full absolute path) or @classmethod
    class Outer__(Scope):
    	class Inner__(Scope):
    		value = 42
    
    		@classmethod
    		def class_method(here):  # noqa: N804 <-- if using ruff
    			# name your `cls`, `here` instead, it makes sense in this context
    			_ = here.value
    
    		@staticmethod
    		def static_method():
    			_ = Outer__.Inner__.value  # Inner__.value does not work
    

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

nya_scope-0.2.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

nya_scope-0.2.0-py3-none-any.whl (2.6 kB view details)

Uploaded Python 3

File details

Details for the file nya_scope-0.2.0.tar.gz.

File metadata

  • Download URL: nya_scope-0.2.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nya_scope-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a63a70b418d497c472bd2c2d007415730a7f6657f33e8c9d302281181d6cd491
MD5 5e8321849b8c1780ddcd3b405d6e06d3
BLAKE2b-256 1d880356511cd35d81ce95735af43312cbe01937a6333f9c5e68820165a1692a

See more details on using hashes here.

File details

Details for the file nya_scope-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nya_scope-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 2.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nya_scope-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ed7e2cd39e001690d7d530b6ff02095166d04dafc9ed6e1cd06f63e5f04c205
MD5 265b3a4d96fd98bc2b96f8341d04acb3
BLAKE2b-256 013a6a18a6d16b88f3a14ac1ee5948e180e9c59ab68500ee5e593664bc3fc3c9

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