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.1.2.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.1.2-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nya_scope-0.1.2.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.1.2.tar.gz
Algorithm Hash digest
SHA256 2991a2a5afc331903d19b858f614e277c2e51cea3c4b9d4431254189df63b456
MD5 42c8ba61f5e215594c20e69212afe071
BLAKE2b-256 1c25d4a9da26962bab5d55d32bb2693763ff3da18ad11955f58fff5f8d65b8d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nya_scope-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 2.5 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3800b067db67c2f7fbbf639491b0ed77b475abbdceeeae93cec0dc93cd0e14b9
MD5 3c8e3265819cce076a9ddfd4ec33ec2d
BLAKE2b-256 222bb504d44df2d851c41ca592fa86a53e538f55ef10b333027c2639ae941862

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