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.3.0.tar.gz (15.0 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.3.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nya_scope-0.3.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.3.0.tar.gz
Algorithm Hash digest
SHA256 8490224f625807bfb9f7a2a279e5be92a358bb5f30c52de9cf2253909fe2fe7a
MD5 ec392678e0e07bbd012e1bda4cfe3b96
BLAKE2b-256 e026a9c97d9909e3c7b60d775623e0f549085f727d33eaf1d3485b7b9e93f340

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nya_scope-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec0ef01c84bcbda54256797d3b25ac6e6a35c626a7ce2b8a227c81feace346fa
MD5 4585377cfa233517e49ebf81ab4819fb
BLAKE2b-256 73a465f3b4f0c86e79e048fe1bd5ffaa138676195a5175fbb3ab77ce4c8495c3

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