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

Uploaded Python 3

File details

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

File metadata

  • Download URL: nya_scope-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 87d09d7eed6fa57c11a6391013ed8bb0d4aa9bd04b7dc4ab895dd3d5bf1e4035
MD5 46334ce9212869358a9aa993377e3fd6
BLAKE2b-256 4b035c3b19eae5636597b6d00798b200435412adde9cb6718a42d2542999b1c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nya_scope-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bdd97e18de85f410a077fc97fc5a6caf167fdebb8a1352608492f4c62af57824
MD5 230c6154f0c73fa97f57a111b6a64daf
BLAKE2b-256 7cfb26f5be38295a6f79863d3699cfba698d55f11a70cb0b80ecadda63a75ffe

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