Skip to main content

Memory efficient Python objects

Project description

https://github.com/nucleic/atom/workflows/Continuous%20Integration/badge.svg https://github.com/nucleic/atom/workflows/Documentation%20building/badge.svg https://codecov.io/gh/nucleic/atom/branch/master/graph/badge.svg Documentation Status

Atom is a framework for creating memory efficient Python objects with enhanced features such as dynamic initialization, validation, and change notification for object attributes. It provides the default model binding behaviour for the Enaml UI framework.

Version 0.4.3 will be the last version to support Python 2. Moving forward support will be limited to Python 3.5+.

Illustrative Example:

from atom.api import Atom, Unicode, Range, Bool, observe


class Person(Atom):
    """ A simple class representing a person object.

    """
    last_name = Unicode()

    first_name = Unicode()

    age = Range(low=0)

    debug = Bool(False)

    @observe('age')
    def debug_print(self, change):
        """ Prints out a debug message whenever the person's age changes.

        """
        if self.debug:
            templ = "{first} {last} is {age} years old."
            s = templ.format(
                first=self.first_name, last=self.last_name, age=self.age,
            )
            print(s)

    def _default_first_name(self):
        return 'John'


john = Person(last_name='Doe', age=42)
john.debug = True
john.age = 43  # prints message
john.age = 'forty three'   # raises TypeError

For version information, see the Revision History.

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

atom-0.5.0.tar.gz (111.3 kB view details)

Uploaded Source

Built Distributions

atom-0.5.0-cp38-none-win_amd64.whl (110.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

atom-0.5.0-cp38-none-win32.whl (95.4 kB view details)

Uploaded CPython 3.8 Windows x86

atom-0.5.0-cp38-cp38-manylinux1_x86_64.whl (136.8 kB view details)

Uploaded CPython 3.8

atom-0.5.0-cp38-cp38-manylinux1_i686.whl (133.2 kB view details)

Uploaded CPython 3.8

atom-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl (129.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

atom-0.5.0-cp37-none-win_amd64.whl (112.5 kB view details)

Uploaded CPython 3.7 Windows x86-64

atom-0.5.0-cp37-none-win32.whl (100.5 kB view details)

Uploaded CPython 3.7 Windows x86

atom-0.5.0-cp37-cp37m-manylinux1_x86_64.whl (135.5 kB view details)

Uploaded CPython 3.7m

atom-0.5.0-cp37-cp37m-manylinux1_i686.whl (131.3 kB view details)

Uploaded CPython 3.7m

atom-0.5.0-cp37-cp37m-macosx_10_9_x86_64.whl (126.0 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

atom-0.5.0-cp36-none-win_amd64.whl (112.4 kB view details)

Uploaded CPython 3.6 Windows x86-64

atom-0.5.0-cp36-none-win32.whl (100.2 kB view details)

Uploaded CPython 3.6 Windows x86

atom-0.5.0-cp36-cp36m-manylinux1_x86_64.whl (135.2 kB view details)

Uploaded CPython 3.6m

atom-0.5.0-cp36-cp36m-manylinux1_i686.whl (130.8 kB view details)

Uploaded CPython 3.6m

atom-0.5.0-cp36-cp36m-macosx_10_9_x86_64.whl (125.8 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file atom-0.5.0.tar.gz.

File metadata

  • Download URL: atom-0.5.0.tar.gz
  • Upload date:
  • Size: 111.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0.tar.gz
Algorithm Hash digest
SHA256 3f4dd1108be206d28eda23637a473561dea69a3d21d2896ed0594b88b302a482
MD5 52601584cc225177d6f68324773e7ee1
BLAKE2b-256 18ac630c6847ff5c7d1f62d6ba3e8f182f82731721feb9f99240e306ee2bff83

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp38-none-win_amd64.whl.

File metadata

  • Download URL: atom-0.5.0-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 110.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 8ef8714a55e2b991b5268f0be277ad6eb31169077f7da16a42d036d115f73738
MD5 4bde3b9dce4cda5d5df23dec0b6f8c4e
BLAKE2b-256 24df3b284bd33e654ea05b47d3d7c78ddba85aa0011b05814a00195dedf34b69

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp38-none-win32.whl.

File metadata

  • Download URL: atom-0.5.0-cp38-none-win32.whl
  • Upload date:
  • Size: 95.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp38-none-win32.whl
Algorithm Hash digest
SHA256 02872df0bbd265c46265c9031368f71349391a8a24faf915ffc77a1e2c0f014f
MD5 0a2019fd7230958f7e6957219d436b27
BLAKE2b-256 26aaa60f1e4b060f5f77ec66616187990ca9d29e9e2b8a41dc374ef9fef1f4de

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: atom-0.5.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 136.8 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5d61ac262b0c8a0b085597816e9a85ef921d9e9415ec4e3d1faaa85fb7ec77e9
MD5 61b5d10f1d06b504cc7380a722e50445
BLAKE2b-256 4445297681ddd469bdb35947f1a3e60a1b0acfe63ca5795e66e702e6a31c7db0

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: atom-0.5.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 133.2 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 764211487b1eb5f2992455ad323198bfb084d8c3cdae5f35f70e368207c18202
MD5 b05e8c309bf313df285e816cb4a4ab2d
BLAKE2b-256 81c7e377e9bc02eeef1bd6292e6c0d5764951585f6775b541bd0baadc1dc43a5

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: atom-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 129.1 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f37300fd436c4bf1ce245a3caebb593725f4943ed711c16b6d9bd17b5983be3
MD5 da50f5770ade2210025fc464e5192d94
BLAKE2b-256 610d9397d248c307a8a434b84dbcdd5ecc2daab06b5c0f919e404ef9f2f017d6

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp37-none-win_amd64.whl.

File metadata

  • Download URL: atom-0.5.0-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 112.5 kB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 08146db2bb060cfb1e3118764139ceaad2aaf9ebcfd0f00511611e6a79884547
MD5 89ba7b85687c0456b72d951aa7601b20
BLAKE2b-256 f70eff1f8beada41eb417ee377393f52a4b61534031487aa4cd6e36e1d04e725

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp37-none-win32.whl.

File metadata

  • Download URL: atom-0.5.0-cp37-none-win32.whl
  • Upload date:
  • Size: 100.5 kB
  • Tags: CPython 3.7, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp37-none-win32.whl
Algorithm Hash digest
SHA256 9e414b7a8492f38080e2166ef2cfb48ef7cbcdc49cf16499a712734ca0859c39
MD5 af1289adf1413db5d67dc26620849285
BLAKE2b-256 1830b9cf58ba32163288fbead642fb3df5a0a52c70a301ad52ed2a6c79fbf83c

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: atom-0.5.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 135.5 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cae59be11e683d99d5746b469202caa2c8ab6619fda7a93a83e56195a29b1882
MD5 426c26ba0bdade8a0be149063cc058a0
BLAKE2b-256 e429e394299e79533f02a6b94eab4909d607566113291fe0a0b22527447e489a

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: atom-0.5.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 131.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 56f12688ed878178dbcd069a21a09a53499f522d3ca0d57422938b6ce2e9dbf5
MD5 de1b6f257266c67ebd60a758969b0908
BLAKE2b-256 ceac50d60cf64bd25e0ac426b830588515d5fc203aa75c84108f7d707c2452bb

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: atom-0.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 126.0 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 40caf911a5bbca7159ca33bfa1398eb3bc0cc0f8b490925518d5064a6a7e9400
MD5 fccb7cf177443d0518dd136a76e7bf0b
BLAKE2b-256 9fe7e7415c610aec143ad32e287903e918cd4dc08b0137d097e4a6f739e12b1e

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp36-none-win_amd64.whl.

File metadata

  • Download URL: atom-0.5.0-cp36-none-win_amd64.whl
  • Upload date:
  • Size: 112.4 kB
  • Tags: CPython 3.6, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp36-none-win_amd64.whl
Algorithm Hash digest
SHA256 49037dc375ab77972c62ae50ef7003e5066ddd6a42f58188e0418f1ecec0126e
MD5 d242ac9614f5ef1e159a7f6496439b3f
BLAKE2b-256 37ddf22851971a0405fbe0a049fecf949595999fe4a353f2c42ce84541e775a4

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp36-none-win32.whl.

File metadata

  • Download URL: atom-0.5.0-cp36-none-win32.whl
  • Upload date:
  • Size: 100.2 kB
  • Tags: CPython 3.6, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp36-none-win32.whl
Algorithm Hash digest
SHA256 6cb3a66d792a6586da113385f8391092627d66b73c76aa9531d5ba94d08e0674
MD5 28f5df39e1d9d655ae6644892875e9d1
BLAKE2b-256 5d91aa4d47fef34dea2ee1695cb2096031b2d24a4f465809bdb8f2b80e3f2099

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: atom-0.5.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 135.2 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c156d9d0a9f6a8d8375f9858191d3379658f5df631bbd67641d8488f49cf2f5b
MD5 a0f64430811e6cffe27e7a784f12a3fa
BLAKE2b-256 ed2004bf22b91c12cc5e25f808563169c64cf0d0f2cc96175e9776e812478fa2

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: atom-0.5.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 130.8 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ea3122731edde76179b7b7577c3813247eb47a62bb100093783a072f73e6b7c8
MD5 63655f4d87ec2ceaeee61b825fe56bf5
BLAKE2b-256 163d26cf3fdc050b117f77e1cbb412a0c0fcbd33a39ad3767328f14173a89aa9

See more details on using hashes here.

Provenance

File details

Details for the file atom-0.5.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: atom-0.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 125.8 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for atom-0.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d29c7bce5b6ccdd438e81397160829231dabac5a1b11e2b3e69b02246733bd7a
MD5 c45d62ebecfdb045ae7ca07b45500e62
BLAKE2b-256 63802df8ad93b02dae66412e7b3a1a0a66fd6595e96ed556ec2650b5eabb10c9

See more details on using hashes here.

Provenance

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