Skip to main content

Final classes for Python 3

Project description

final_class

wemake.services Build Status Coverage Status wemake-python-styleguide

Final classes for python3.6+.

Features

  • No metaclass conflicts
  • No runtime overhead
  • No dependencies
  • Type hints included, PEP-561 and PEP-591 compatible
  • Designed to be as simple as possible

Why?

In languages like java we have a nice way to restrict subclassing any class by making it final:

public final class SomeClass {
  // ...
}

In python we don't have such feature out of the box. That's where final_class library comes in!

This package works perfectly with @final from typing. So, with final_class you will have both type-checking and runtime checks.

Installation

pip install final_class

Usage

from final_class import final


@final
class Example(object):  # You won't be able to subclass it!
    ...


class Error(Example):  # Raises `TypeError`
    ...

More?

Do you want more? Check out:

License

MIT.

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

final-class-0.2.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

final_class-0.2.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file final-class-0.2.0.tar.gz.

File metadata

  • Download URL: final-class-0.2.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.11 CPython/3.7.4 Darwin/18.6.0

File hashes

Hashes for final-class-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ae1c4532745aa35867bd7b6dba4d9eb1798c609b0b22d531733372fef32164a7
MD5 0ad62d0cbd927c760017ada302449240
BLAKE2b-256 290642b63be59b0fd3ee6aeb082f99a0bb9967d0f5ee480f9e9c74b7d6455f3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: final_class-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.11 CPython/3.7.4 Darwin/18.6.0

File hashes

Hashes for final_class-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8029b75b96e8b50ae5d80a6b2b9683fabea94182861101ee185298d13292a322
MD5 1cc4b896d54dad29d2f742d261911919
BLAKE2b-256 474fd80eec39dba3f9f0d90d275d073de3907492f599e735075ee9fafbe7d77b

See more details on using hashes here.

Supported by

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