Skip to main content
https://api.travis-ci.org/mkorpela/overrides.svg https://coveralls.io/repos/mkorpela/overrides/badge.svg https://img.shields.io/pypi/v/overrides.svg http://pepy.tech/badge/overrides

A decorator to automatically detect mismatch when overriding a method. See http://stackoverflow.com/questions/1167617/in-python-how-do-i-indicate-im-overriding-a-method

All checks are done when a class or a method is created and not when a method is executed or an instance of a class is created. This means that performance implications are minimal.

Note: Version 2.8.0 is the last one that supports Python 2.7. Versions after that work with Python >= 3.6.

Installation

$ pip install overrides

Usage

from overrides import overrides

class SuperClass(object):

    def method(self):
        """This is the doc for a method and will be shown in subclass method too!"""
        return 2

class SubClass(SuperClass):

    @overrides
    def method(self):
        return 1

Enforcing usage

from overrides import EnforceOverrides, final, overrides

class SuperClass(EnforceOverrides):

    @final
    def method(self):
        """This is the doc for a method and will be shown in subclass method too!"""
        return 2

    def method2(self):
        """This is the doc for a method and will be shown in subclass method too!"""
        return 2

    def method3(self):
        """This is the doc for a method and will be shown in subclass method too!"""
        return 2

# THIS FAILS
class SubClass1(SuperClass):

    def method(self): # <-- overriding a final method
        return 1


# THIS FAILS
class SubClass2(SuperClass):

    def method2(self): # <-- @overrides decorator missing
        return 1

# THIS ONE IS OK
class SubClass3(SuperClass):

    @overrides
    def method2(self):
        return 1

Metadata

Release files for overrides 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for overrides 3.0.0
File Size Uploaded
overrides-3.0.0.tar.gz 4.5 kB Details

Release files / overrides-3.0.0.tar.gz

Download URL overrides-3.0.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7dafd6efc15c809f0d812515bc1e8f64ffe28583d20e9046f95a2c010b4b6cdf
BLAKE2b-256 checksum
How to use checksums
428dcaa729f809ecdf8e76fac3c1ff7d3f0b72c398c9dd8a6919927a30a873b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.3

Release history Release notifications | RSS feed

7.7.0

2 release files

7.6.0

2 release files

7.5.0

2 release files

7.4.0

2 release files

7.3.1

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.5.0

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

1 release file

3.1.0

1 release file

This release

3.0.0 This release

1 release file

2.8.0

1 release file

2.7.0

1 release file

2.6

1 release file

2.5

1 release file

2.4

1 release file

2.3

1 release file

2.2

1 release file

2.1

1 release file

2.0

1 release file

1.9

1 release file

1.8

2 release files

1.7

1 release file

1.6

1 release file

0.5

1 release file

0.4

2 release files

0.3

2 release files

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page