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.

Changelog

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Acquisition-4.10.tar.gz (65.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

Acquisition-4.10-cp310-cp310-win_amd64.whl (66.2 kB view details)

Uploaded CPython 3.10Windows x86-64

Acquisition-4.10-cp310-cp310-win32.whl (63.9 kB view details)

Uploaded CPython 3.10Windows x86

Acquisition-4.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (119.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

Acquisition-4.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (122.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

Acquisition-4.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (115.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

Acquisition-4.10-cp310-cp310-macosx_10_14_x86_64.whl (66.1 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

Acquisition-4.10-cp39-cp39-win_amd64.whl (66.2 kB view details)

Uploaded CPython 3.9Windows x86-64

Acquisition-4.10-cp39-cp39-win32.whl (64.0 kB view details)

Uploaded CPython 3.9Windows x86

Acquisition-4.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (118.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

Acquisition-4.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (121.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

Acquisition-4.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (115.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

Acquisition-4.10-cp39-cp39-macosx_10_14_x86_64.whl (66.1 kB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

Acquisition-4.10-cp38-cp38-win_amd64.whl (66.3 kB view details)

Uploaded CPython 3.8Windows x86-64

Acquisition-4.10-cp38-cp38-win32.whl (64.0 kB view details)

Uploaded CPython 3.8Windows x86

Acquisition-4.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (119.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

Acquisition-4.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (123.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

Acquisition-4.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (116.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

Acquisition-4.10-cp38-cp38-macosx_10_14_x86_64.whl (66.1 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

Acquisition-4.10-cp37-cp37m-win_amd64.whl (66.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

Acquisition-4.10-cp37-cp37m-win32.whl (63.8 kB view details)

Uploaded CPython 3.7mWindows x86

Acquisition-4.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (110.4 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

Acquisition-4.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (113.4 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

Acquisition-4.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (106.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

Acquisition-4.10-cp37-cp37m-macosx_10_14_x86_64.whl (66.0 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

Acquisition-4.10-cp36-cp36m-win_amd64.whl (66.1 kB view details)

Uploaded CPython 3.6mWindows x86-64

Acquisition-4.10-cp36-cp36m-win32.whl (63.8 kB view details)

Uploaded CPython 3.6mWindows x86

Acquisition-4.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (110.4 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

Acquisition-4.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (112.5 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

Acquisition-4.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl (105.8 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ i686manylinux: glibc 2.5+ i686

Acquisition-4.10-cp36-cp36m-macosx_10_14_x86_64.whl (66.0 kB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

Acquisition-4.10-cp35-cp35m-win_amd64.whl (66.1 kB view details)

Uploaded CPython 3.5mWindows x86-64

Acquisition-4.10-cp35-cp35m-win32.whl (63.8 kB view details)

Uploaded CPython 3.5mWindows x86

Acquisition-4.10-cp27-cp27m-win_amd64.whl (64.1 kB view details)

Uploaded CPython 2.7mWindows x86-64

Acquisition-4.10-cp27-cp27m-win32.whl (62.6 kB view details)

Uploaded CPython 2.7mWindows x86

Acquisition-4.10-cp27-cp27m-macosx_10_14_x86_64.whl (66.1 kB view details)

Uploaded CPython 2.7mmacOS 10.14+ x86-64

File details

Details for the file Acquisition-4.10.tar.gz.

File metadata

  • Download URL: Acquisition-4.10.tar.gz
  • Upload date:
  • Size: 65.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for Acquisition-4.10.tar.gz
Algorithm Hash digest
SHA256 bf36333176a4671b4b974ab3abd6ff51fcf9fc7af91484581426af545ab1a085
MD5 e4be143d792ede7f4585a5daa8de7ae7
BLAKE2b-256 79cbac01337efe1f43cc897f262fd7982472b08aa1a7f44951e3a97a6340dbed

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for Acquisition-4.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c6309e53b746e11b80fca5494a157d4cfcd92c3b67f5073d603a2fed32218038
MD5 11f976ddb1cfae47fd18184bc7e20be5
BLAKE2b-256 3b18f83918e74b9a5ceab417a5930d0394158c0019a85f9e637960a30ad90dd4

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp310-cp310-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp310-cp310-win32.whl
  • Upload date:
  • Size: 63.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for Acquisition-4.10-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 6bb380742e86af021b08d76b760bbc0561d4aa79fe68685cd14e3400ece57894
MD5 9df3b0615552fd942facaaf65f31f423
BLAKE2b-256 f605d0ad1ec2db23eda67b390405a52737b9558db7a8a0ecbb7947ce515251cb

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc2e372b03f73c4139efa84995e14bebe386b48af469a64152bbb07bea93db1b
MD5 aec41672dde48c2c929b1ed9129010b1
BLAKE2b-256 d90fe09c86038a6928defe1fd013c391cd422e24f005227617cc96cccc6fa4a1

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4f4a78cf2d589dacbdb08d40b3a9685127617170725104cdcac83f65f94e4c10
MD5 951f7c4ea83a930cba2eef1fa58ffc90
BLAKE2b-256 8ba924ea6f0e93f913d8b44ba606d876136459ff8e3acb80cbd5db1883a90a3b

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 ae88066c2450ceb174e15674bc97a7d7e61f41514a11f5e079988348ed638dcf
MD5 d19adb90af830cc92d273c4249a968a3
BLAKE2b-256 1e1082f728e95c60b4ddb6d0de77a072dea1a3b5134c02ce27a6214f27191be0

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp310-cp310-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.10, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for Acquisition-4.10-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 0e18e4639b95078617fc3c5630adcb65f244ce51b94df9d97b1645d2ca134c37
MD5 a4a90e1661ff9f3d16792c29ae1e7e7d
BLAKE2b-256 b4916732e1996bf16e18ba28e372b5d56cfb5b0cb917c5442e83546bd00483d5

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.0

File hashes

Hashes for Acquisition-4.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 26da998f50ffd98399b9b65483b3776f3f268b5f8feb55a56b680ff029c97f13
MD5 0d7d8077c98f842179824f457e511b5d
BLAKE2b-256 5f5c54459c64ce25618932ec46d4695ce96bb934559509354ebc80889eef9f09

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp39-cp39-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp39-cp39-win32.whl
  • Upload date:
  • Size: 64.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.0

File hashes

Hashes for Acquisition-4.10-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 85e5befa669e79d4a2f63e35351dd176beae6a458c9226b6896924637708fb69
MD5 2ec83c0f8d42514a096002ee37d02532
BLAKE2b-256 f3e20507345d2b8d56b8f4eeb69bf1e57278dcfb6281dd431ed8554aaadc033a

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a07aa731d95ebbb1459bbc19988f0513065d3c6ff453fd36e0688176a046abd2
MD5 1c84aa40379b68a4f0cd307ac9b29cc8
BLAKE2b-256 1ccf4e907b0fbe8912101648a8b4bbd2101addc526592aa0f54690a1f67dfead

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8479bdc1bfc7b43206cc1cd04c0bf856757c2c808fd770da96d70000fdceee45
MD5 7ecb9633c9692fec9a82a6646d39f863
BLAKE2b-256 0dc98dab69109c5c7e5be4c0767d783c5adbc616a0f7097720bf539af1eb3180

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2c61ad07360c074554226c9e8b456ec7a4b057065403afa2522dd147f4e6b713
MD5 1668b199692c86e2d126ec02faa8ca63
BLAKE2b-256 d2d8cbe9a5491be36480c6d78aa116b97f5575306613f2a19ffc3c47b5624f8e

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp39-cp39-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.9, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for Acquisition-4.10-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 ac82af15921312c014fe4a9ec3b65a3bd4250317a5fd85387b4fcfef005cb456
MD5 7a91c60a5f931e6b75d6c9023853cc75
BLAKE2b-256 a5415ee3ebdb04ca4e54a07559eae148c1c07a845e6832be9ff0b3262bf29441

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 66.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0

File hashes

Hashes for Acquisition-4.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d668c14f769b110c95f8e96b5024c1f93855d01715bff4bfad5ebdbdd4688b27
MD5 2d464a3d05c8a16ffcf9c6caa058bed9
BLAKE2b-256 aa511b942656e00988b4bca655dca807ae456b3bfcd66a825507ab1bd04f1a7e

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp38-cp38-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp38-cp38-win32.whl
  • Upload date:
  • Size: 64.0 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0

File hashes

Hashes for Acquisition-4.10-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 eb92eb601749e3c8250cd6df6172ab7306cc07806ebfbcf514144f1fd5b218ca
MD5 c2733c0d4312e8df3f7a42800f9e75fe
BLAKE2b-256 3ca296d68d6281bc4224c67cf652df6b9d56ac36c727e29017bcb1b0a8fbc7be

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 970212634109b81db1dc861f9d3c9d1f59eee919083c4f741575f21577797372
MD5 b02fbcc2285dc5bd7ff29b34fbfed424
BLAKE2b-256 de9ce215a44b47d212d0949d3268c132e67bfb892d28a9b3541be655d086b72b

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 94d143467639eb1480b7e4eab86c41021dbf329f6d1fc155bda6433caa592be2
MD5 cda8ef3e4611484d13cbd8627475f79f
BLAKE2b-256 2ccd7eb68780ee57bf3f24037513cd5e11285ec2518ad120f4a28c48426f025b

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 80f27bcbe1543fc82fec1a77ae4293a10f1e1eddb3bdf6014b67143861697a7b
MD5 c9ba478bb4db009c1a83661b0142bd90
BLAKE2b-256 1871c7d877d1a094b9205bbd8b13ab1862639d6f1e6d94a4e962c2441a13bade

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for Acquisition-4.10-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d28823e578d76e3e30a8b88c5afd0281fae413fde7844f338944172e3dc1af19
MD5 32d1d7f9bc3651ef0d0022a4d146a92d
BLAKE2b-256 a619120fd3baa65dc246993160477399e2c081d6b4dfe99c905bca9b229b9839

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.5

File hashes

Hashes for Acquisition-4.10-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2489412d73070a6009f3504a1ef6d80705a4024215e98842d914676e1c3e395f
MD5 9df6b58b3f80570f861b62bf92232f84
BLAKE2b-256 2126cc396bf21b6b3f8b81af7fc57927e0e735537e3256f312a55766ae5ded01

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp37-cp37m-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.5

File hashes

Hashes for Acquisition-4.10-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 bf5825f2a55e9bf8c005ca33bbd3aaa81fe33334dcb7dddd1514ade569664a9e
MD5 ac24fb6affceb8d3472e82da5153c708
BLAKE2b-256 4692a461bbeba47bea79c20dd20ed25786caad9e2b9629c7d569abce8acf6597

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 243a5d1fbafc4ad09031bf012e452e381fd694a727a3e2d18e45de83c8c81b08
MD5 0a1f45611e2bb261b090580c908c34e1
BLAKE2b-256 59cd8b9651db5c1d3309d95c95cdea5b35829e75179ce3a6416890db525e72bf

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8a989eee1b1d80bc972473acd5b85be532bbc32dd25a3d078a2a67193e6e0aee
MD5 76b922f1d4572d6aee5b0225e698ccdb
BLAKE2b-256 62d39779bac995435d7162bf5d3ae820e21d886a88da73f4349fed9b08e047c5

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 47544008fb8a5361558d85b73c09e54649087f61ab965a71fdacc582e8f40447
MD5 779c1bbe44da9ca99a31d825f0a06b46
BLAKE2b-256 3bca6dc78c161acaecb3a959224759542301f49aa051fb9b54e9ba920f3acb19

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 66.0 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for Acquisition-4.10-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3ed2506f6b6b5ddd3ecb9df3c247110cbeadcc2f6a0a3517264f71fc83e7f197
MD5 ca90306041474b44559a27970e623384
BLAKE2b-256 4375e57ff13180fa993f7371956607bb023623ba37a0814e9d094c8f0b5653bd

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for Acquisition-4.10-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 e31f57f261190ee16a5d92a99f5dd438fd399bc43b46063a327b6e23f33d6325
MD5 8b3341e512349c14958d02075965fd71
BLAKE2b-256 4efb2639f931d20e1ba899caa5893850eab3f39373d30d6d677439b7dc07a58d

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp36-cp36m-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for Acquisition-4.10-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 20645ea4edd3d6b090159150f8baec407de21124ab59ae6169c152e23c4e4e87
MD5 4735c88f188326f961995864c446d65f
BLAKE2b-256 68eab9c32a05f28965819f7fb48ac6dd4471ac0964b4581f6fcdfc60ce858b6b

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7deef1631ba94116bc8550453d78bd2e6562ed8edceae167dfa7fee2f1ed291f
MD5 f71eb3197324d7e0fac13c435c07b114
BLAKE2b-256 f79950997b901830374955893334cdfa8d963d0f5a5575d118f3d9faa47e4bd2

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0b4a1158a8443431f7cf0547057532ca6adc6cf78d0795541cd7aa8a5fb90fc1
MD5 4143611cf016a8dd966a40bd68e27700
BLAKE2b-256 9497bc2f106723a2c1b9acda3fd3b1f2f172a772529d1688db4617facdc39878

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for Acquisition-4.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 6461ed3c2a69993e3eb8678b1eee5defd7b042360e185a83ab8f6a2aed5cbb8d
MD5 122a8bada251e011bd62287bdeec5e38
BLAKE2b-256 e003741bb2efc26864e3d960d0696e399e2d070416a456638c1919ca33f183aa

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 66.0 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for Acquisition-4.10-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b55aa1e736063d5c479ea409fef1e937cebee8d69527553e335487b8e2c7c954
MD5 48f3f1e78ce7e6822533653d29e9834e
BLAKE2b-256 540fe8ca817e45974202fc76745f11ca8afcaf5ddf28f6ba429f6f3f09d92112

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.5.4

File hashes

Hashes for Acquisition-4.10-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 bacc4ede2d6029d1cacdc5a831691712dd6eebbca84789ea01abdbe6dfbd471e
MD5 98969bad946573580eb4f3709ec1a1ae
BLAKE2b-256 7049d9bea0609a0da08c9f8e815517e862ae9ce7a9419377b04fb623748b49d7

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp35-cp35m-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.25.1 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.5.4

File hashes

Hashes for Acquisition-4.10-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 a4fa100695664caf19bfbc9fc94a8cf9ec208f0ea34b693025021a607fd6f2a6
MD5 492849b8feb5ce3bc32229870d4b1abe
BLAKE2b-256 e4488dc253cf5274ba658af92ebcd5797f963b489b9baa9ab5cadca8ea5014af

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 64.1 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.26.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.17

File hashes

Hashes for Acquisition-4.10-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 7934ad7c3d7e3b26f546ed76307c4b879d39e5ddcdf18221eddf742a5cd324d0
MD5 45e0048fe75fa733e415cd5ef9e609f5
BLAKE2b-256 99087bd7aa2cad416132b660ab4e1a5780c4e711f15915584d6a018ab4b499a3

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp27-cp27m-win32.whl.

File metadata

  • Download URL: Acquisition-4.10-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.26.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.17

File hashes

Hashes for Acquisition-4.10-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 bc2d2a064b4593df23f34a919cbcb0a444dce31b04f7be960d3b99b00b41cbad
MD5 aeadd5544f94dd382843c5d0eb2130d7
BLAKE2b-256 4487e52f671684835a7951fd63e61786f2813f9ddc2e640caa34c6ec2b778e3b

See more details on using hashes here.

File details

Details for the file Acquisition-4.10-cp27-cp27m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: Acquisition-4.10-cp27-cp27m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 2.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.26.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.18

File hashes

Hashes for Acquisition-4.10-cp27-cp27m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7dd07ad39434f1eef7d46b94a0185cb9dcc4b1cc5cb76d7a8e4322c28ce483d5
MD5 85c29574b3a2b427c79d3759938d63d7
BLAKE2b-256 ad6b31f5b2db412c9a0266068292aabb35dd90d4e4a8809085990d48b96d6306

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