Skip to main content

Environmental Acquisiton

This package implements “environmental acquisiton” for Python, as proposed in the OOPSLA96 paper by Joseph Gil and David H. Lorenz:

We propose a new programming paradigm, environmental acquisition in the context of object aggregation, in which objects acquire behaviour from their current containers at runtime. The key idea is that the behaviour of a component may depend upon its enclosing composite(s). In particular, we propose a form of feature sharing in which an object “inherits” features from the classes of objects in its environment. By examining the declaration of classes, it is possible to determine which kinds of classes may contain a component, and which components must be contained in a given kind of composite. These relationships are the basis for language constructs that supports acquisition.

Introductory Example

Zope implements acquisition with “Extension Class” mix-in classes. To use acquisition your classes must inherit from an acquisition base class. For example:

>>> import ExtensionClass, Acquisition

>>> class C(ExtensionClass.Base):
...     color = 'red'

>>> class A(Acquisition.Implicit):
...     def report(self):
...         print(self.color)
...
>>> a = A()
>>> c = C()
>>> c.a = a

>>> c.a.report()
red

>>> d = C()
>>> d.color = 'green'
>>> d.a = a

>>> d.a.report()
green

>>> try:
...     a.report()
... except AttributeError:
...     pass
... else:
...     raise AssertionError('AttributeError not raised.')

The class A inherits acquisition behavior from Acquisition.Implicit. The object, a, “has” the color of objects c and d when it is accessed through them, but it has no color by itself. The object a obtains attributes from its environment, where its environment is defined by the access path used to reach a.

Acquisition Wrappers

When an object that supports acquisition is accessed through an extension class instance, a special object, called an acquisition wrapper, is returned. In the example above, the expression c.a returns an acquisition wrapper that contains references to both c and a. It is this wrapper that performs attribute lookup in c when an attribute cannot be found in a.

Acquisition wrappers provide access to the wrapped objects through the attributes aq_parent, aq_self, aq_base. Continue the example from above:

>>> c.a.aq_parent is c
True
>>> c.a.aq_self is a
True

Explicit and Implicit Acquisition

Two styles of acquisition are supported: implicit and explicit acquisition.

Implicit acquisition

Implicit acquisition is so named because it searches for attributes from the environment automatically whenever an attribute cannot be obtained directly from an object or through inheritance.

An attribute can be implicitly acquired if its name does not begin with an underscore.

To support implicit acquisition, your class should inherit from the mix-in class Acquisition.Implicit.

Explicit Acquisition

When explicit acquisition is used, attributes are not automatically obtained from the environment. Instead, the method aq_acquire must be used. For example:

>>> print(c.a.aq_acquire('color'))
red

To support explicit acquisition, your class should inherit from the mix-in class Acquisition.Explicit.

Controlling Acquisition

A class (or instance) can provide attribute by attribute control over acquisition. You should subclass from Acquisition.Explicit, and set all attributes that should be acquired to the special value Acquisition.Acquired. Setting an attribute to this value also allows inherited attributes to be overridden with acquired ones. For example:

>>> class C(Acquisition.Explicit):
...     id = 1
...     secret = 2
...     color = Acquisition.Acquired
...     __roles__ = Acquisition.Acquired

The only attributes that are automatically acquired from containing objects are color, and __roles__. Note that the __roles__ attribute is acquired even though its name begins with an underscore. In fact, the special Acquisition.Acquired value can be used in Acquisition.Implicit objects to implicitly acquire selected objects that smell like private objects.

Sometimes, you want to dynamically make an implicitly acquiring object acquire explicitly. You can do this by getting the object’s aq_explicit attribute. This attribute provides the object with an explicit wrapper that replaces the original implicit wrapper.

Filtered Acquisition

The acquisition method, aq_acquire, accepts two optional arguments. The first of the additional arguments is a “filtering” function that is used when considering whether to acquire an object. The second of the additional arguments is an object that is passed as extra data when calling the filtering function and which defaults to None. The filter function is called with five arguments:

  • The object that the aq_acquire method was called on,

  • The object where an object was found,

  • The name of the object, as passed to aq_acquire,

  • The object found, and

  • The extra data passed to aq_acquire.

If the filter returns a true object that the object found is returned, otherwise, the acquisition search continues.

Here’s an example:

>>> from Acquisition import Explicit

>>> class HandyForTesting(object):
...     def __init__(self, name):
...         self.name = name
...     def __str__(self):
...         return "%s(%s)" % (self.name, self.__class__.__name__)
...     __repr__=__str__
...
>>> class E(Explicit, HandyForTesting): pass
...
>>> class Nice(HandyForTesting):
...     isNice = 1
...     def __str__(self):
...         return HandyForTesting.__str__(self)+' and I am nice!'
...     __repr__ = __str__
...
>>> a = E('a')
>>> a.b = E('b')
>>> a.b.c = E('c')
>>> a.p = Nice('spam')
>>> a.b.p = E('p')

>>> def find_nice(self, ancestor, name, object, extra):
...     return hasattr(object,'isNice') and object.isNice

>>> print(a.b.c.aq_acquire('p', find_nice))
spam(Nice) and I am nice!

The filtered acquisition in the last line skips over the first attribute it finds with the name p, because the attribute doesn’t satisfy the condition given in the filter.

Filtered acquisition is rarely used in Zope.

Acquiring from Context

Normally acquisition allows objects to acquire data from their containers. However an object can acquire from objects that aren’t its containers.

Most of the examples we’ve seen so far show establishing of an acquisition context using getattr semantics. For example, a.b is a reference to b in the context of a.

You can also manually set acquisition context using the __of__ method. For example:

>>> from Acquisition import Implicit
>>> class C(Implicit): pass
...
>>> a = C()
>>> b = C()
>>> a.color = "red"
>>> print(b.__of__(a).color)
red

In this case, a does not contain b, but it is put in b’s context using the __of__ method.

Here’s another subtler example that shows how you can construct an acquisition context that includes non-container objects:

>>> from Acquisition import Implicit

>>> class C(Implicit):
...     def __init__(self, name):
...         self.name = name

>>> a = C("a")
>>> a.b = C("b")
>>> a.b.color = "red"
>>> a.x = C("x")

>>> print(a.b.x.color)
red

Even though b does not contain x, x can acquire the color attribute from b. This works because in this case, x is accessed in the context of b even though it is not contained by b.

Here acquisition context is defined by the objects used to access another object.

Containment Before Context

If in the example above suppose both a and b have an color attribute:

>>> a = C("a")
>>> a.color = "green"
>>> a.b = C("b")
>>> a.b.color = "red"
>>> a.x = C("x")

>>> print(a.b.x.color)
green

Why does a.b.x.color acquire color from a and not from b? The answer is that an object acquires from its containers before non-containers in its context.

To see why consider this example in terms of expressions using the __of__ method:

a.x -> x.__of__(a)

a.b -> b.__of__(a)

a.b.x -> x.__of__(a).__of__(b.__of__(a))

Keep in mind that attribute lookup in a wrapper is done by trying to look up the attribute in the wrapped object first and then in the parent object. So in the expressions above proceeds from left to right.

The upshot of these rules is that attributes are looked up by containment before context.

This rule holds true also for more complex examples. For example, a.b.c.d.e.f.g.attribute would search for attribute in g and all its containers first. (Containers are searched in order from the innermost parent to the outermost container.) If the attribute is not found in g or any of its containers, then the search moves to f and all its containers, and so on.

Additional Attributes and Methods

You can use the special method aq_inner to access an object wrapped only by containment. So in the example above, a.b.x.aq_inner is equivalent to a.x.

You can find out the acquisition context of an object using the aq_chain method like so:

>>> [obj.name for obj in a.b.x.aq_chain]
['x', 'b', 'a']

You can find out if an object is in the containment context of another object using the aq_inContextOf method. For example:

>>> a.b.aq_inContextOf(a)
True

Acquisition Module Functions

In addition to using acquisition attributes and methods directly on objects you can use similar functions defined in the Acquisition module. These functions have the advantage that you don’t need to check to make sure that the object has the method or attribute before calling it.

aq_acquire(object, name [, filter, extra, explicit, default, containment])

Acquires an object with the given name.

This function can be used to explictly acquire when using explicit acquisition and to acquire names that wouldn’t normally be acquired.

The function accepts a number of optional arguments:

filter

A callable filter object that is used to decide if an object should be acquired.

The filter is called with five arguments:

  • The object that the aq_acquire method was called on,

  • The object where an object was found,

  • The name of the object, as passed to aq_acquire,

  • The object found, and

  • The extra argument passed to aq_acquire.

If the filter returns a true object that the object found is returned, otherwise, the acquisition search continues.

extra

Extra data to be passed as the last argument to the filter.

explicit

A flag (boolean value) indicating whether explicit acquisition should be used. The default value is true. If the flag is true, then acquisition will proceed regardless of whether wrappers encountered in the search of the acquisition hierarchy are explicit or implicit wrappers. If the flag is false, then parents of explicit wrappers are not searched.

This argument is useful if you want to apply a filter without overriding explicit wrappers.

default

A default value to return if no value can be acquired.

containment

A flag indicating whether the search should be limited to the containment hierarchy.

In addition, arguments can be provided as keywords.

aq_base(object)

Return the object with all wrapping removed.

aq_chain(object [, containment])

Return a list containing the object and it’s acquisition parents. The optional argument, containment, controls whether the containment or access hierarchy is used.

aq_get(object, name [, default, containment])

Acquire an attribute, name. A default value can be provided, as can a flag that limits search to the containment hierarchy.

aq_inner(object)

Return the object with all but the innermost layer of wrapping removed.

aq_parent(object)

Return the acquisition parent of the object or None if the object is unwrapped.

aq_self(object)

Return the object with one layer of wrapping removed, unless the object is unwrapped, in which case the object is returned.

In most cases it is more convenient to use these module functions instead of the acquisition attributes and methods directly.

Acquisition and Methods

Python methods of objects that support acquisition can use acquired attributes. When a Python method is called on an object that is wrapped by an acquisition wrapper, the wrapper is passed to the method as the first argument. This rule also applies to user-defined method types and to C methods defined in pure mix-in classes.

Unfortunately, C methods defined in extension base classes that define their own data structures, cannot use aquired attributes at this time. This is because wrapper objects do not conform to the data structures expected by these methods. In practice, you will seldom find this a problem.

Conclusion

Acquisition provides a powerful way to dynamically share information between objects. Zope uses acquisition for a number of its key features including security, object publishing, and DTML variable lookup. Acquisition also provides an elegant solution to the problem of circular references for many classes of problems. While acquisition is powerful, you should take care when using acquisition in your applications. The details can get complex, especially with the differences between acquiring from context and acquiring from containment.

Change log

6.4 (2026-10-19)

  • Add support for Python 3.15.

  • Drop support for Python 3.10.

6.3 (2026-08-20)

  • Add support for Python 3.15.

  • Add support for automatically building and publishing Windows/ARM64 wheels.

  • Add support for automatically building and publishing source distributions.

6.2 (2025-11-16)

  • Move all supported package metadata into pyproject.toml.

  • Add support for Python 3.14.

  • Drop support for Python 3.8.

6.1 (2024-09-16)

  • Add final support for Python 3.13.

6.0 (2024-05-30)

  • Drop support for Python 3.7.

  • Build Windows wheels on GHA.

5.2 (2024-02-13)

  • Add preliminary support for Python 3.13 as of 3.13a3.

5.1 (2023-10-05)

  • Add support for Python 3.12.

5.0 (2023-03-24)

  • Build Linux binary wheels for Python 3.11.

  • Drop support for Python 2.7, 3.5, 3.6.

  • Add preliminary support for Python 3.12a5.

4.13 (2022-11-17)

  • Add support for building arm64 wheels on macOS.

4.12 (2022-11-03)

  • Add support for final Python 3.11 release.

4.11 (2022-09-16)

  • Add support for Python 3.11 (as of 3.11.0rc1).

  • Switch from -Ofast to -O3 when compiling code for Linux wheels. (#64)

4.10 (2021-12-07)

  • Fix bug in the PURE_PYTHON version affecting aq_acquire applied to a class with a filter.

  • Improve interface documentation.

  • Add support for Python 3.10.

4.9 (2021-08-19)

  • On CPython no longer omit compiling the C code when PURE_PYTHON is required. Just evaluate it at runtime. (#53)

4.8 (2021-07-20)

  • Various fixes for the PURE_PYTHON version, e.g. make Acquired an str (as required by Zope), avoid infinite __cmp__ loop. (#51, #48)

  • Create aarch64 wheels.

4.7 (2020-10-07)

  • Add support for Python 3.8 and 3.9.

4.6 (2019-04-24)

  • Drop support for Python 3.4.

  • Add support for Python 3.8a3.

  • Add support to call bytes() on an object wrapped by an ImplicitAcquisitionWrapper. (#38)

4.5 (2018-10-05)

  • Avoid deprecation warnings by using current API.

  • Add support for Python 3.7.

4.4.4 (2017-11-24)

  • Add Appveyor configuration to automate building Windows eggs.

4.4.3 (2017-11-23)

  • Fix the extremely rare potential for a crash when the C extensions are in use. See issue 21.

4.4.2 (2017-05-12)

  • Fix C capsule name to fix import errors.

  • Ensure our dependencies match our expactations about C extensions.

4.4.1 (2017-05-04)

  • Fix C code under Python 3.4, with missing Py_XSETREF.

4.4.0 (2017-05-04)

  • Enable the C extension under Python 3.

  • Drop support for Python 3.3.

4.3.0 (2017-01-20)

  • Make tests compatible with ExtensionClass 4.2.0.

  • Drop support for Python 2.6 and 3.2.

  • Add support for Python 3.5 and 3.6.

4.2.2 (2015-05-19)

4.2.1 (2015-04-23)

4.2 (2015-04-04)

  • Add support for PyPy, PyPy3, and Python 3.2, 3.3, and 3.4.

4.1 (2014-12-18)

  • Bump dependency on ExtensionClass to match current release.

4.0.3 (2014-11-02)

  • Skip readme.rst tests when tests are run outside a source checkout.

4.0.2 (2014-11-02)

  • Include *.rst files in the release.

4.0.1 (2014-10-30)

  • Tolerate Unicode attribute names (ASCII only). LP #143358.

  • Make module-level aq_acquire API respect the default parameter. LP #1387363.

  • Don’t raise an attribute error for __iter__ if the fallback to __getitem__ succeeds. LP #1155760.

4.0 (2013-02-24)

  • Added trove classifiers to project metadata.

4.0a1 (2011-12-13)

  • Raise RuntimeError: Recursion detected in acquisition wrapper if an object with a __parent__ pointer points to a wrapper that in turn points to the original object.

  • Prevent wrappers to be created while accessing __parent__ on types derived from Explicit or Implicit base classes.

2.13.9 (2015-02-17)

  • Tolerate Unicode attribute names (ASCII only). LP #143358.

  • Make module-level aq_acquire API respect the default parameter. LP #1387363.

  • Don’t raise an attribute error for __iter__ if the fallback to __getitem__ succeeds. LP #1155760.

2.13.8 (2011-06-11)

  • Fixed a segfault on 64bit platforms when providing the explicit argument to the aq_acquire method of an Acquisition wrapper. Thx to LP #675064 for the hint to the solution. The code passed an int instead of a pointer into a function.

2.13.7 (2011-03-02)

  • Fixed bug: When an object did not implement __unicode__, calling unicode(wrapped) was calling __str__ with an unwrapped self.

2.13.6 (2011-02-19)

  • Add aq_explicit to IAcquisitionWrapper.

  • Fixed bug: unicode(wrapped) was not calling a __unicode__ method on wrapped objects.

2.13.5 (2010-09-29)

  • Fixed unit tests that failed on 64bit Python on Windows machines.

2.13.4 (2010-08-31)

  • LP 623665: Fixed typo in Acquisition.h.

2.13.3 (2010-04-19)

  • Use the doctest module from the standard library and no longer depend on zope.testing.

2.13.2 (2010-04-04)

  • Give both wrapper classes a __getnewargs__ method, which causes the ZODB optimization to fail and create persistent references using the _p_oid alone. This happens to be the persistent oid of the wrapped object. This lets these objects to be persisted correctly, even though they are passed to the ZODB in a wrapped state.

  • Added failing tests for http://dev.plone.org/plone/ticket/10318. This shows an edge-case where AQ wrappers can be pickled using the specific combination of cPickle, pickle protocol one and a custom Pickler class with an inst_persistent_id hook. Unfortunately this is the exact combination used by ZODB3.

2.13.1 (2010-02-23)

  • Update to include ExtensionClass 2.13.0.

  • Fix the tp_name of the ImplicitAcquisitionWrapper and ExplicitAcquisitionWrapper to match their Python visible names and thus have a correct __name__.

  • Expand the tp_name of our extension types to hold the fully qualified name. This ensures classes have their __module__ set correctly.

2.13.0 (2010-02-14)

2.12.4 (2009-10-29)

  • Fix iteration proxying to pass self acquisition-wrapped into both __iter__ as well as __getitem__ (this fixes https://bugs.launchpad.net/zope2/+bug/360761).

  • Add tests for the __getslice__ proxying, including open-ended slicing.

2.12.3 (2009-08-08)

  • More 64-bit fixes in Py_BuildValue calls.

  • More 64-bit issues fixed: Use correct integer size for slice operations.

2.12.2 (2009-08-02)

2.12.1 (2009-04-15)

  • Update for iteration proxying: The proxy for __iter__ must not rely on the object to have an __iter__ itself, but also support fall-back iteration via __getitem__ (this fixes https://bugs.launchpad.net/zope2/+bug/360761).

2.12 (2009-01-25)

  • Release as separate package.

Metadata

Release files for Acquisition 6.4

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

Source distribution (sdist)

Source distribution for Acquisition 6.4
File Size Uploaded Provenance Actions
acquisition-6.4.tar.gz 66.5 kB With provenance Details for acquisition-6.4.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for Acquisition 6.4
File Actions
acquisition-6.4-cp315-cp315-win_arm64.whl CPython 3.15 CPython 3.15 Windows ARM64 Details for acquisition-6.4-cp315-cp315-win_arm64.whl
acquisition-6.4-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for acquisition-6.4-cp315-cp315-win_amd64.whl
acquisition-6.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64 Details for acquisition-6.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
acquisition-6.4-cp315-cp315-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for acquisition-6.4-cp315-cp315-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
acquisition-6.4-cp315-cp315-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for acquisition-6.4-cp315-cp315-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
acquisition-6.4-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for acquisition-6.4-cp315-cp315-macosx_11_0_arm64.whl
acquisition-6.4-cp315-cp315-macosx_10_9_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.9+ x86-64 Details for acquisition-6.4-cp315-cp315-macosx_10_9_x86_64.whl
acquisition-6.4-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details for acquisition-6.4-cp314-cp314-win_arm64.whl
acquisition-6.4-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for acquisition-6.4-cp314-cp314-win_amd64.whl
acquisition-6.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details for acquisition-6.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
acquisition-6.4-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for acquisition-6.4-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
acquisition-6.4-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for acquisition-6.4-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
acquisition-6.4-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for acquisition-6.4-cp314-cp314-macosx_11_0_arm64.whl
acquisition-6.4-cp314-cp314-macosx_10_9_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.9+ x86-64 Details for acquisition-6.4-cp314-cp314-macosx_10_9_x86_64.whl
acquisition-6.4-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details for acquisition-6.4-cp313-cp313-win_arm64.whl
acquisition-6.4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for acquisition-6.4-cp313-cp313-win_amd64.whl
acquisition-6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for acquisition-6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
acquisition-6.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details for acquisition-6.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
acquisition-6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details for acquisition-6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
acquisition-6.4-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for acquisition-6.4-cp313-cp313-macosx_11_0_arm64.whl
acquisition-6.4-cp313-cp313-macosx_10_9_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.9+ x86-64 Details for acquisition-6.4-cp313-cp313-macosx_10_9_x86_64.whl
acquisition-6.4-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details for acquisition-6.4-cp312-cp312-win_arm64.whl
acquisition-6.4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for acquisition-6.4-cp312-cp312-win_amd64.whl
acquisition-6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for acquisition-6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
acquisition-6.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for acquisition-6.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
acquisition-6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for acquisition-6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
acquisition-6.4-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for acquisition-6.4-cp312-cp312-macosx_11_0_arm64.whl
acquisition-6.4-cp312-cp312-macosx_10_9_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.9+ x86-64 Details for acquisition-6.4-cp312-cp312-macosx_10_9_x86_64.whl
acquisition-6.4-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details for acquisition-6.4-cp311-cp311-win_arm64.whl
acquisition-6.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for acquisition-6.4-cp311-cp311-win_amd64.whl
acquisition-6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for acquisition-6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
acquisition-6.4-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details for acquisition-6.4-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
acquisition-6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details for acquisition-6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
acquisition-6.4-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for acquisition-6.4-cp311-cp311-macosx_11_0_arm64.whl
acquisition-6.4-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for acquisition-6.4-cp311-cp311-macosx_10_9_x86_64.whl

Total release size: 3.2 MB

Release files / acquisition-6.4.tar.gz

Download URL acquisition-6.4.tar.gz
Size 66.5 kB
Tags Source
SHA-256 checksum
How to use checksums
50f041fd60706b811f76425ea018ec8a71a0f0d0df0f070413db3b8778996cea
BLAKE2b-256 checksum
How to use checksums
71510c51f6b308da5a1f2364d21ed3b40f1ee7721327a14afe2f0ee5a03e9386
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-win_arm64.whl

Download URL acquisition-6.4-cp315-cp315-win_arm64.whl
Size 65.8 kB
Tags CPython 3.15 Windows ARM64
SHA-256 checksum
How to use checksums
60060ef7c2008ac7a5dc6d7df5f53ff412772dfdf97a8791199f5e1309794bf8
BLAKE2b-256 checksum
How to use checksums
27d02b84000d14ed362f5303b3dbb1e0753db330d7fb90b81300b8e02a96a089
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-win_amd64.whl

Download URL acquisition-6.4-cp315-cp315-win_amd64.whl
Size 66.6 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
02ebbda3b0a5ff8fe29b25731295a10b55a78ff4627a0eea4ec09ba4c36fc5b2
BLAKE2b-256 checksum
How to use checksums
5137559e6807496845d597e0c50148ceeda60fda3090851dde0a9cc7c7852ae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL acquisition-6.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 122.4 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
39672d76a55a81aa646f3548de931969cccbaf8cedd942277440de37589288fd
BLAKE2b-256 checksum
How to use checksums
426fd53f5a7974c7b8209a42a1196de83a13764333d20d4bce9f0b916b8c22d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl

Download URL acquisition-6.4-cp315-cp315-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Size 121.9 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
3b8b8d062995b950cb39b12506e31d897ce072200b084c1aa24fc8aa7b82ec16
BLAKE2b-256 checksum
How to use checksums
b7c03a659118d88542c2c032c98a1c1bb6b09e3cb679fd991b88aa3e171fa68a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL acquisition-6.4-cp315-cp315-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 115.5 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
8e0c926b3d3235f477326a59f41f4b12d6896a155ae4b45d8138ad911fcd80ce
BLAKE2b-256 checksum
How to use checksums
2868a7ae3a74b278794fc00e82e16c35c5f93ae482a580dd7b05f60c0e11b2fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-macosx_11_0_arm64.whl

Download URL acquisition-6.4-cp315-cp315-macosx_11_0_arm64.whl
Size 63.5 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d6b63dac9abe210a56de1b384745f1cf4a2881af4aab186c8488d77505f8c5c
BLAKE2b-256 checksum
How to use checksums
89ab518a76d4ce62aa5346b0a26b4717e805563b94ca091f07bb4338591d86a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp315-cp315-macosx_10_9_x86_64.whl

Download URL acquisition-6.4-cp315-cp315-macosx_10_9_x86_64.whl
Size 63.8 kB
Tags CPython 3.15 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5288c2e5f8503472d81c1c4503a4acb6dc1b1b34cf16d6615c08258db51683ff
BLAKE2b-256 checksum
How to use checksums
4d0f4df270a9067a726da4c8476d23f742086ac61566be21205f72084072d9d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-win_arm64.whl

Download URL acquisition-6.4-cp314-cp314-win_arm64.whl
Size 65.8 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
cdeaf99c04fdf1587a30d0fcedea181f003ecdf6fa74694ad4b31d531fd601b5
BLAKE2b-256 checksum
How to use checksums
a94963f1aeb280dd0340b543944978eecc10b8d11f95b4abc968ddcbfe8264e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-win_amd64.whl

Download URL acquisition-6.4-cp314-cp314-win_amd64.whl
Size 66.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
874e96c6d67660ada20b3d6b12dc8c22e84a910c6ac0e349d2a95c5b39caf452
BLAKE2b-256 checksum
How to use checksums
09c0dcaaeecf929518422f510d79183de12c54d9aaaa76a9f0e4fae5cd3f812d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL acquisition-6.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 122.0 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b0358394185ef721806d374faf6b5320f4670519311ed5f855a97a422114377e
BLAKE2b-256 checksum
How to use checksums
4204852ac492f4d421557ac0b9e23b3cf3afc65b529d8cd9fc83ae5d1eae61e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl

Download URL acquisition-6.4-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Size 121.6 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
241bdd0582e7fa103abc137389e8c8cd6036b26d653882b55ff4331c435ef186
BLAKE2b-256 checksum
How to use checksums
5b3a94e0c7a86faf17620c820d474176d5422f6d45d9c5e98d7ec06f53bfd3f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL acquisition-6.4-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 114.3 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
707a7cf18e96153ddd8fc859e385d0403dc1bd3feb8afe9db5b9c9b6fa96e771
BLAKE2b-256 checksum
How to use checksums
561cb79391e236b829715b6b12a99d8e178d09f385d4504ed402372fdfb1c5f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-macosx_11_0_arm64.whl

Download URL acquisition-6.4-cp314-cp314-macosx_11_0_arm64.whl
Size 63.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a0279d18d7f40bcf773d59cfe1a564a8b8adc989e4eee8a5b7900861db89f44e
BLAKE2b-256 checksum
How to use checksums
1dbd71598dd61b3abab14c04a9faf934cfa8336225ea9656a30c7f605c254e55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp314-cp314-macosx_10_9_x86_64.whl

Download URL acquisition-6.4-cp314-cp314-macosx_10_9_x86_64.whl
Size 63.8 kB
Tags CPython 3.14 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c63108872c2ac6d76e1347faa0998a4f2c939d76d95ad5201dfc058ef6b03f70
BLAKE2b-256 checksum
How to use checksums
ad10f8b3baabd5409dd99b257bfee6b26dfdaafd707727da83a049bf642d68b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-win_arm64.whl

Download URL acquisition-6.4-cp313-cp313-win_arm64.whl
Size 65.3 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
40ae38e199c6f2d4387b0acec3b77c7e22da737d9d4171eb5265f614ded3d8c7
BLAKE2b-256 checksum
How to use checksums
3b3edd65c5d293664214500126dc06af34cd15df91f1049cc9b3bc54f516d21e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-win_amd64.whl

Download URL acquisition-6.4-cp313-cp313-win_amd64.whl
Size 66.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
fd75e59c75beec0103c3f609fcdb50cc3e40e8ca02295c2593ec80dc2b908acf
BLAKE2b-256 checksum
How to use checksums
7f02fe2c8377a370ea1bfd3a0529fcd914e19038918649d6947393dfc1fb844d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL acquisition-6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 122.1 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
af5aaa75382208d06faa0e2f2e2b882618c2bac4a2de56166c09bdcff6f399d2
BLAKE2b-256 checksum
How to use checksums
f21b2a27abf18903a328c1ab53dff2d3996160ca367181e0ce3a2732525e7d15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl

Download URL acquisition-6.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Size 122.3 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
e4d92fb2300f98479a7e8a5933f826e9b453da30cede39e77946dcd2032abb8b
BLAKE2b-256 checksum
How to use checksums
2aac1b24b33bf7367c979cbac14fb6cd9d313db8c60884e2fd39cb19fbcf88c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL acquisition-6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 114.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
7aac9012378625b39baeb17415de3b4b82a3ff87c7ad554e017fdb26717bf570
BLAKE2b-256 checksum
How to use checksums
07fc0b37bef15bbed07588043c58a3c8f8eaf64239840f624dbc8d4e40b28d1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-macosx_11_0_arm64.whl

Download URL acquisition-6.4-cp313-cp313-macosx_11_0_arm64.whl
Size 63.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
792598d3564a45096a0407c98177d53d4b44e5df5ca6af349b3a54973bd33832
BLAKE2b-256 checksum
How to use checksums
d31a08f5510bc86b886edda14a6eb14afb4e3514684d3f5d62fe2398128c0b69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp313-cp313-macosx_10_9_x86_64.whl

Download URL acquisition-6.4-cp313-cp313-macosx_10_9_x86_64.whl
Size 63.6 kB
Tags CPython 3.13 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5d699f355f7449aad2bb0b2face6a9b80ec5be3a6cad81239ec07b8739e6a5ba
BLAKE2b-256 checksum
How to use checksums
0f820299169deb7bd2c12078b3c5dc3bd35bdcfc654517e72d314f9a670af22c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-win_arm64.whl

Download URL acquisition-6.4-cp312-cp312-win_arm64.whl
Size 65.3 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
98eb9e4a2194a5611b14a56fe36fa9152b9c5628d8ac0049d9d5a08059b2599e
BLAKE2b-256 checksum
How to use checksums
42caa08838563ae0bfdfc3cf1c686401264031cabc82b796e619c87d73a9f38a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-win_amd64.whl

Download URL acquisition-6.4-cp312-cp312-win_amd64.whl
Size 66.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e571746f805af488cf3c07bcab92d5e7f31f62be988f3f5facee40ddc28f89f6
BLAKE2b-256 checksum
How to use checksums
8dddd1221ad3ab43fbdd90683ca5606c9620dff31a32266bc9e6ff9bf5dbcc91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL acquisition-6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 122.1 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
bfc3b773086433b133318fd2f2eb7703b60cb0ca92b940e4d61cc3e33cf68f87
BLAKE2b-256 checksum
How to use checksums
be92145041f5b7050ad0e44c5383c9b01650b65b6b3301aa93f1fe33b9c402f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl

Download URL acquisition-6.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Size 122.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c7e1687b01e756b02cd279d4b6b3a339adf976c5195cf063ee0974cfcb33cbc9
BLAKE2b-256 checksum
How to use checksums
3fdd76ba531588de263716622ae0812ad471adad831e3945fddd80784c86ac41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL acquisition-6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 114.4 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
e794dbbae6e8b0017ff5d38920e7a61c5ee2922d62fdc4f6513a8c7f0c324674
BLAKE2b-256 checksum
How to use checksums
3d9a51da04d52afd854f75ba8bd493295fb9f64255c0769bcadb1c97b5f8b96a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-macosx_11_0_arm64.whl

Download URL acquisition-6.4-cp312-cp312-macosx_11_0_arm64.whl
Size 63.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
401a13fc38f8bb45b47f7aae581547c35a7e80433e5af7b357c9fb8703f0ffad
BLAKE2b-256 checksum
How to use checksums
b298c4fb413362009b638e77791fdbbe1b5d8bc61f44dd420a962d44e0029fd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp312-cp312-macosx_10_9_x86_64.whl

Download URL acquisition-6.4-cp312-cp312-macosx_10_9_x86_64.whl
Size 63.6 kB
Tags CPython 3.12 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
da2746fe44c32a141bdba6e31ea70168056948fdbeabefa462178779331423b2
BLAKE2b-256 checksum
How to use checksums
45c5a4214bea607b713b0fff6bc47c36090e35ec5a96b8845690fc51d8cb4044
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-win_arm64.whl

Download URL acquisition-6.4-cp311-cp311-win_arm64.whl
Size 65.2 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
72abafcd7bb140fd8caccb1e36178c69f24194e01967b302cabfa82296ea25f7
BLAKE2b-256 checksum
How to use checksums
93d6608ff7a7769f2230e1aadc75d6b4eea32f41cbfdc7302ff37b1b76117b9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-win_amd64.whl

Download URL acquisition-6.4-cp311-cp311-win_amd64.whl
Size 65.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6a88cc621078688d75e8717f98d04ad167e57f25dab4263a40887d698959906b
BLAKE2b-256 checksum
How to use checksums
4b263ace519550bc642658df1f2e5644f10a4da023e8b537cda5080234bb8e44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL acquisition-6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 122.4 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
40294b73e4f37904ca4abdae49c04fa3810a4d480aff489fa9ac1baf3ca39403
BLAKE2b-256 checksum
How to use checksums
216c0a90444f368f4914ab173549d0ef5a699babad95786b3c88a0bcb0233276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl

Download URL acquisition-6.4-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Size 122.9 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
0c041e2e50e3310903cfb00256b5ec74778bd63d3ee1cd048b9aaabdab3c5a94
BLAKE2b-256 checksum
How to use checksums
f06ffe07000706420a9d9709789ae058c22250b5a27715f6861f43f43b6bad40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL acquisition-6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 115.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
6e9efda98289562a99666786dbebfcbf353beb72aeb008608a7b5cad9ce01dd8
BLAKE2b-256 checksum
How to use checksums
044c6a360d24b609fad043726db14b772069354747e0088abec6637c4dd5324c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-macosx_11_0_arm64.whl

Download URL acquisition-6.4-cp311-cp311-macosx_11_0_arm64.whl
Size 63.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
19d052b3707ab92a20620ac58192cde208319bbae242873d7baefd7a26668d63
BLAKE2b-256 checksum
How to use checksums
7d0b6150264ae9bfe2e240421d41dec6a5ae831eaca2769e5b7909ff3acdea31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / acquisition-6.4-cp311-cp311-macosx_10_9_x86_64.whl

Download URL acquisition-6.4-cp311-cp311-macosx_10_9_x86_64.whl
Size 63.4 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9007f15de9033d7aa8485c48a698ea9568f333f51ff85e7081965b7dcde943f8
BLAKE2b-256 checksum
How to use checksums
5bbc3ee98c91933e0ef27942ba7c62ef66bbe64d81577224c2e08171f96d58f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Security for Acquisition 6.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 36 files in this release have been uploaded with provenance metadata.

Select from 36 files

Attestation for acquisition-6.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

6.4 This release

36 release files Full provenance

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