Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Copapy logo

Copapy

Copapy is a Python framework for deterministic, low-latency real-time computation with automatic differentiation support, targeting hardware applications - for example in the fields of robotics, aerospace, SDR, embedded systems and control systems in general.

GPU frameworks like PyTorch, JAX and TensorFlow jump-started the development in the field of AI. With the right balance of flexibility and performance, they allow for fast iteration of new ideas while still being performant enough to test or even use them in production.

This is exactly what Copapy aims for - but in the field of embedded realtime computation. While making use of the ergonomics of Python, the tooling, and the general Python ecosystem, Copapy runs seamlessly optimized machine code. Despite being highly portable, the copy-and-patch compiler allows for effortless and fast deployment without any dependencies beyond Python. It's designed to feel like writing Python scripts with a shallow learning curve, but under the hood it produces high-performance, statically typed and memory-safe code with a minimized set of possible runtime errors1. To maximize productivity, the framework provides detailed type hints to catch most errors even before compilation.

Embedded systems come with a variety of CPU architectures. The copy-and-patch compiler already supports the most common ones2, and porting it to new architectures is straightforward if a C compiler for the target architecture is available3. The generated code depends only on the CPU architecture. The generated binaries neither perform system calls nor rely on external libraries like libc. This makes Copapy both highly deterministic and easy to deploy on different realtime operating systems (RTOS) or bare metal.

The main features can be summarized as:

  • Fast to write & easy to read
  • Memory and type safety with a minimal set of runtime errors
  • Deterministic execution
  • Automatic differentiation for efficient realtime optimization (reverse-mode)
  • Optimized machine code for x86_64, 32 Bit ARM (Cortex-A and Cortex-M) and AArch64
  • Highly portable to new architectures
  • Small Python package with minimal dependencies and no cross-compile toolchain required

Execution of the compiled code is managed by a runner application. The runner is implemented in C and handles I/O and communication with the Copapy framework. The overall design emphasizes minimal complexity of the runner to simplify portability, since this part must be adapted for the individual hardware/application. Because patching of memory addresses is done by the runner, the different architecture-specific relocation types are unified to an architecture-independent format by Copapy before sending the patch instructions to the runner. This keeps the runner implementation as minimal as possible.

Copapy architecture

The design targets either an architecture with a realtime-patched Linux kernel - where the runner uses the same CPU and memory as Linux but executes in a realtime thread - or a setup where even higher determinism is required. In such cases, the runner can be executed on a separate crossover MCU running on bare metal or a RTOS.

The Copapy framework also includes a runner as a Python module built from the same C code. This allows frictionless testing of code and might be valuable for using Copapy in conventional application development.

Current state

While hardware I/O is obviously a core aspect of the project it is not yet available. However the computation engine is already fully functional - for all above mentioned target architectures - and available for testing and experimentation simply by installing the package. The project focuses now on integration into the first demonstration hardware platform.

Furthermore in development are currently:

  • Array stencils for handling large arrays and generating SIMD-optimized code - e.g., for machine vision and neural network applications
  • Constant regrouping for further symbolic optimization of the computation graph

Despite missing SIMD-optimization, benchmark performance shows promising numbers. The following chart plots the results in comparison to NumPy 2.3.5:

Copapy architecture

For the benchmark (tests/benchmark.py) timings for 30,000 iterations of calculating the term sum((v1 + i) @ v2 for i in range(10)) were measured on a Ryzen 5 3400G. The vectors v1 and v2 both have lengths of v_size, which was varied from 10 to 500 according to the chart. For the NumPy case the i in range(10) loop was vectorized like this: np.sum((v1 + i) @ v2) with i being an NDArray of shape [10, 1]. The number of calculated scalar operations is the same for both implementations. Copapy benefits from lower overhead by calling a single function from Python per iteration, whereas the NumPy variant requires three. Interestingly, the chart shows no indication that for increasing v_size the calling overhead for NumPy will be compensated by faster SIMD instructions. Note that in this benchmark the Copapy case does not move any data between Python and the compiled code.

Furthermore, for many applications Copapy performance will benefit by reducing the actual number of operations significantly compared to a NumPy implementation, by precomputing constant values known at compile time and benefiting from sparsity. Multiplying by zero (e.g., in a diagonal matrix) eliminates a whole branch in the computation graph. Operations with no effect, like multiplications by 1 or additions with zero, get eliminated at compile time.

For testing and using Copapy to speed up computations in conventional Python programs there is also the @cp.jit decorator available, to compile functions on first use and cache the compiled version for later calls:

import copapy as cp

@cp.jit
def calculation(x: float, y: float) -> float:
    return sum(x ** 2 + y ** 2 + i for i in range(10))

# Compile and run:
result1 = calculation(2.5, 1.2)

# Run cached compiled version:
result2 = calculation(3.1, 4.7)

Note that cp.jit is not currently highly optimized for data transfer between Python and the compiled code.

Install

To install Copapy, you can use pip. Precompiled wheels are available for Linux (x86_64, AArch64, ARMv7, i686), Windows (x86_64) and macOS (x86_64, AArch64):

pip install copapy

Examples

Basic example

A very simple example program using Copapy can look like this:

import copapy as cp

# Define variables
a = cp.value(0.25)
b = cp.value(0.87)

# Define computations
c = a + b * 2.0
d = c ** 2 + cp.sin(a)
e = cp.sqrt(b)

# Create a target (default is local), compile and run
tg = cp.Target()
tg.compile(c, d, e)
tg.run()

# Read the results
print("Result c:", tg.read_value(c))
print("Result d:", tg.read_value(d))
print("Result e:", tg.read_value(e))

IMU Sensor fusion

This example demonstrates how concisely the Madgwick AHRS algorithm for IMU sensor fusion can be expressed in Copapy. While the original C implementation contains more than 130 lines of code (excluding blank lines and comments), the algorithm can be expressed in about 10 lines with Copapy. One reason is Copapy's automatic differentiation, which computes the Madgwick correction gradient with cp.grad():

import copapy as cp
from copapy import vector, quaternion

def madgwick_imu_update(q: quaternion, gyro: vector[float],
                        accel: vector[float]) -> quaternion:
    BETA: float = 0.1
    SAMPLE_INTERVAL: float = 0.01  # seconds
    objective = q.rotate_vector(vector([0.0, 0.0, 1.0])) - accel.normalize()
    cost = 0.5 * objective.dot(objective)
    gradient = cp.grad(cost, q).normalize()
    gyro_quat = quaternion(0.0, *gyro)
    q_dot_gyro = 0.5 * (q @ gyro_quat)
    q_dot = q_dot_gyro - BETA * gradient
    return (q + q_dot * SAMPLE_INTERVAL).normalize()

# Usage
q = quaternion(cp.value(0.7071), cp.value(0.7071), cp.value(0.0), cp.value(0.0))
gyro = vector([0.01, 0.02, 0.015])
accel = vector([0.0, 0.0, 1.0])

new_q = madgwick_imu_update(q, gyro, accel)

tg = cp.Target()
tg.compile(new_q)
tg.run()

print(f"Updated orientation: {tg.read_value(new_q)}")

See tests/test_quaternion.py for the documented version.

Inverse kinematics

Another example using autograd in Copapy, here implementing gradient descent to solve an inverse kinematics problem for a two-joint 2D arm:

import copapy as cp

# Arm lengths
l1, l2 = 1.8, 2.0

# Target position
target = cp.vector([0.7, 0.7])

# Learning rate for iterative adjustment
alpha = 0.1

def forward_kinematics(theta1, theta2):
    """Return positions of joint and end-effector."""
    joint = cp.vector([l1 * cp.cos(theta1), l1 * cp.sin(theta1)])
    end_effector = joint + cp.vector([l2 * cp.cos(theta1 + theta2),
                                     l2 * cp.sin(theta1 + theta2)])
    return joint, end_effector

# Start values
theta = cp.vector([cp.value(0.0), cp.value(0.0)])

# Iterative inverse kinematics
for _ in range(48):
    joint, effector = forward_kinematics(theta[0], theta[1])
    error = ((target - effector) ** 2).sum()

    theta -= alpha * cp.grad(error, theta)

tg = cp.Target()
tg.compile(error, theta, joint)
tg.run()

print(f"Joint angles: {tg.read_value(theta)}")
print(f"Joint position: {tg.read_value(joint)}")
print(f"End-effector position: {tg.read_value(effector)}")
print(f"quadratic error = {tg.read_value(error)}")
Joint angles: [-0.7221821546554565, 2.6245293617248535]
Joint position: [1.3509329557418823, -1.189529299736023]
End-effector position: [0.6995794177055359, 0.7014330625534058]
quadratic error = 2.2305819129542215e-06

How it works

The compilation step starts with tracing the Python code to generate an acyclic directed graph (DAG) of variables and operations. The code can contain functions, closures, branching, and so on, but conditional branching is only allowed when the condition is known at tracing time (a cp.iif function exists to work around this). In the next step, this DAG is optimized and linearized into a sequence of operations. Each operation is mapped to a precompiled stencil or a combination of several stencils. A stencil is a piece of machine code with placeholders for memory addresses pointing to other code or data. The compiler generates patch instructions that fill these placeholders with the correct memory addresses.

After compilation, the binary code built from the stencils, the constant data, and the patch instructions is handed to the runner for execution. The runner allocates memory for code and data, copies both into place, applies the patch instructions, and finally executes the code.

The C code for a very simple stencil can look like this:

add_float_float(float arg1, float arg2) {
    result_float_float(arg1 + arg2, arg2);
}

The call to the dummy function result_float_float ensures that the compiler keeps the result and the second operand in registers for later use. The dummy function acts as a placeholder for the next stencil. Copapy uses two virtual registers, which map on most relevant architectures to actual hardware registers. Data that cannot be kept in a register is stored in statically allocated heap memory. Stack memory may be used inside some stencils, but its usage is essentially fixed and independent of the Copapy program, so total memory requirements are known at compile time.

The machine code for the function above, compiled for x86_64, looks like this:

0000000000000000 <add_float_float>:
   0:    f3 0f 58 c1              addss  %xmm1,%xmm0
   4:    e9 00 00 00 00           jmp    9 <.LC1+0x1>
            5: R_X86_64_PLT32    result_float_float-0x4

Based on the relocation entry for the jmp to the symbol result_float_float, the jmp instruction is stripped when it is the last instruction in a stencil. Thus, a Copapy addition operation results in a single instruction. For stencils containing multiple branch exits, only the final jmp is removed; the others are patched to jump to the next stencil.

For more complex operations - where inlining is less useful - stencils call a non-stencil function, such as in this example:

0000000000000000 <sin_float>:
   0:    48 83 ec 08              sub    $0x8,%rsp
   4:    e8 00 00 00 00           call   9 <sin_float+0x9>
            5: R_X86_64_PLT32    sinf-0x4
   9:    48 83 c4 08              add    $0x8,%rsp
   d:    e9 00 00 00 00           jmp    12 <.LC0+0x2>
            e: R_X86_64_PLT32    result_float-0x4

Unlike stencils, non-stencil functions like sinf are not stripped and do not need to be tail-call-optimizable. These functions can be provided as C code and compiled together with the stencils or can be object files like in the case of sinf compiled from C and assembly code and merged into the stencil object files. Math functions like sinf are currently provided by the MUSL C library, with architecture-specific optimizations.

Non-stencil functions and constants used by them are stored together with the stencils in ELF object files for each supported CPU architecture. The required non-stencil functions and constants are bundled during compilation. The compiler includes only the data and code required for a specific Copapy program.

The Copapy compilation process is independent of the actual instruction set. It relies purely on relocation entries and symbol metadata from the ELF file generated by the C compiler.

Developer Guide

Feedback and contributions are welcome - please open an issue or submit a pull request on GitHub.

To get started with development, first clone the repository:

git clone https://github.com/Nonannet/copapy.git
cd copapy

You may set up a virtual environment:

python -m venv .venv
source .venv/bin/activate  # On Windows: `.venv\Scripts\activate`

Build and install the package and dev dependencies:

pip install -e .[dev]

If the build fails because no suitable C compiler is installed, you can either install one or use the binary package from PyPI:

pip install copapy[dev]

When running pytest, it will use the binary components from PyPI, but all Python code is executed from the local repository.

To run all tests, you need the stencil object files and the compiled runner. You can download them from GitHub or build them yourself with gcc.

Download the latest binaries from GitHub:

python tools/get_binaries.py

Build the binaries from source on Linux:

bash tools/build.sh

Run the tests:

pytest

License

This project is licensed under the MIT license - see the LICENSE file for details.

  1. Errors like divide-by-zero are currently still possible. The feasibility of tracking value ranges in the type system is under investigation to enable compile-time checks. ↩

  2. Supported architectures: x86_64, x86 (32 Bit), AArch64, ARMv6/7 (non-Thumb) and ARMv7 Thumb for Cortex-A and Cortex-M. ↩

  3. The compiler must support tail-call optimization (TCO). Currently, GCC is supported. Porting to a new architecture requires implementing a subset of relocation types used by that architecture. ↩

Release files for copapy 0.0.8.post1.dev0

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

Built distributions (wheels)

Table of built distributions (wheels) for copapy 0.0.8.post1.dev0
File
copapy-0.0.8.post1.dev0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_i686.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_armv7l.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.31+ ARMv7l, Linux glibc 2.17+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314t-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details
copapy-0.0.8.post1.dev0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_i686.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-32 Details
copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_armv7l.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
copapy-0.0.8.post1.dev0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
copapy-0.0.8.post1.dev0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
copapy-0.0.8.post1.dev0-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
copapy-0.0.8.post1.dev0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_i686.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-32 Details
copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_armv7l.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
copapy-0.0.8.post1.dev0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
copapy-0.0.8.post1.dev0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
copapy-0.0.8.post1.dev0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
copapy-0.0.8.post1.dev0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_i686.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-32 Details
copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_armv7l.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.12 CPython 3.12 Linux glibc 2.31+ ARMv7l, Linux glibc 2.17+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
copapy-0.0.8.post1.dev0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-32, Linux glibc 2.5+ x86-32 Details
copapy-0.0.8.post1.dev0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
copapy-0.0.8.post1.dev0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
copapy-0.0.8.post1.dev0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-32 Details
copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_armv7l.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
copapy-0.0.8.post1.dev0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-32, Linux glibc 2.28+ x86-32 Details
copapy-0.0.8.post1.dev0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
copapy-0.0.8.post1.dev0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
copapy-0.0.8.post1.dev0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_i686.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-32 Details
copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_armv7l.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
copapy-0.0.8.post1.dev0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-32, Linux glibc 2.5+ x86-32 Details
copapy-0.0.8.post1.dev0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
copapy-0.0.8.post1.dev0-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 13.7 MB

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-win_amd64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-win_amd64.whl
Size 202.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
f62e27bced6c8fea218faaf7c6a70e6f7ba7f042dd597349db73f36504aa7ec7
BLAKE2b-256 checksum
How to use checksums
b952848cd0769b6e1fc7b3bd8a0d4b5b44a147fa40129201f873fd9e843e5a8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 210.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ff7c4e748907ccb34298390e8e1f7c1277fdd3674cea88bff411df094834b6ea
BLAKE2b-256 checksum
How to use checksums
fcc04f0a53034185b96a88012262189d34b386fe6fcdea4e2526f76617dda0c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_i686.whl
Size 210.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
2660125d83258249185f147b661e0341179dbfcf07902b4d242eb08d6fc12c6d
BLAKE2b-256 checksum
How to use checksums
1aeb9ed35548a4d432a18af0fbde0c8179831400a3dd35c1aa0889366c6e3f45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_armv7l.whl
Size 210.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
7d9f97534193aafba844aae8b5248d8cf22a16eb382cc4fc963b2b22b89b570a
BLAKE2b-256 checksum
How to use checksums
1d65359cd5513c58fbf17294bc26f8339fad23d6bd364e2f1869fe029105fce0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 210.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
b21208c555aaf99f80006ba44c70fb1426e2e6cf9c2aad6c9fa703cebccc2172
BLAKE2b-256 checksum
How to use checksums
e1fadda2385e9b4d47f1464a861e5deb16e1e4805569fc2e6319fc5eec1b7a70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 211.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f7e652d95d9307b733c7827c0bdff7ac90904be501bff33b73c6c9bb4d332b02
BLAKE2b-256 checksum
How to use checksums
a7decbfda0622bc0ecb32774863ce8d051400b08c546111d9b1a5811d216d239
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 216.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
49072064ef3fabcc1992a6dee3b502887d2526a14be0c0ee79c1d6c9e2f46b06
BLAKE2b-256 checksum
How to use checksums
cbb7e3e4cb03b5894eaf9a12adb4f4b9612074dcf15850ffdc6ff7b37479249c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 211.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
264f56b1e2aa39cceb2ef9e85df68694255445f5e53636cc78bad1975d26fc71
BLAKE2b-256 checksum
How to use checksums
38738a8f103d834f5d6a8f63c6c1e6a3b13151d1a3fa1efbb59c0fa749f28ebb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 210.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
e6005beebd76cce6dde08ccbe561d73a739cbad93068852dc2642c11a4de6239
BLAKE2b-256 checksum
How to use checksums
1382bd8c385dabba91b8bc3a3c129fd6650a04aacaa2346f3e6b46cdff7aa9aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 197.7 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
c44d72c2f9116c1c6c4d0bffa15a8e59c7724a75e32fbd6df1183811541435dc
BLAKE2b-256 checksum
How to use checksums
0b317b06e0ff33f8eab830f410297c6e7e66567f8bd69ad519eacd333f7961d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314t-macosx_10_15_universal2.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314t-macosx_10_15_universal2.whl
Size 201.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
61d68c51eed88cd1795206a7f14d9c16f51871ac73c321868a0aad40d3d57e0c
BLAKE2b-256 checksum
How to use checksums
d1d21ee9dc43659624a4086165d843d2286ecf34ae253f0e6522cdfe5d6f6f3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-win_amd64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-win_amd64.whl
Size 202.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
fc46a0407976a7ec6a41ef5ba995fdf4bb9a2636cdd240ac68b927c8c425027d
BLAKE2b-256 checksum
How to use checksums
acc79302b61891e87cc423ae5e96f9c21b57fb4cf2ba641a05e5b079094cbdc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 210.8 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5f2cbd74d26d2c9fbb9da5d9f34790c805967666592078e65bcc07a8010af22d
BLAKE2b-256 checksum
How to use checksums
4f29932eb07d19413875d4faddaad2dae923b35bd5ea29612e4d05bb2c2bb867
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_i686.whl
Size 210.2 kB
Tags CPython 3.14 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
4ff7895b947ca52a052be401a02a6f278b692fff5289408f3f26c74f941c2679
BLAKE2b-256 checksum
How to use checksums
f02f3377b5baebf25ec8e2503982576afd7e6af5ae07a6ed7b094f62f312e3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_armv7l.whl
Size 210.4 kB
Tags CPython 3.14 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
215b19c4098a9b0c86632cd31cbd8b2c6a73358d32e824d77b4df59f82fa9b23
BLAKE2b-256 checksum
How to use checksums
89d4921a203877260c1e2b610750bf47a3f0f365d2ad5eaeb41fcb6ced88fd2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 210.9 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9f5000c5e24467998a75c7b896df7fd7e715897cb344af0fdd44d8ae914ed3a9
BLAKE2b-256 checksum
How to use checksums
e420606360acb545955bb04c1928444e94afeed40cc0b4b763d2f1ebe7d71b4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 211.0 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d601afa879cab112b3b04ca0dea22515d4b65900f38706784a8c65ead264d16a
BLAKE2b-256 checksum
How to use checksums
fc2111bfedfc8e20911b5377a68d7badacde93f111abacd2b7b4ec67ebb622d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 216.3 kB
Tags CPython 3.14 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
2bb134b63e9d8186823dea60c105fb2ad6df009391bfac93168b40dec91f5c67
BLAKE2b-256 checksum
How to use checksums
b08d3a1f0371af5bba8c17f8bf7be25c710628b9339add9a497dccf37f4a7ae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 211.6 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
225d193f740d96a593d5f21bbe03e2759a2294a358a1204c378175f9bd75b6b3
BLAKE2b-256 checksum
How to use checksums
09954c79e6fe2c42ef0c221ec21eaf1bc117f5ff34f4664f39494c0b64b3d495
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 210.0 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
b32308b54ad984b399fa8b6f8779b4314879156f397bc25508e92a6b4f91b768
BLAKE2b-256 checksum
How to use checksums
4a0029f7fb045c447ddd5648b3615d52b6f68a9fa781e87b5e22ca449316d815
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-macosx_10_15_x86_64.whl
Size 197.7 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6840118316a7eb4d4ed04f7dd046dca9b4a1ba535ef264376482bf90972e4c81
BLAKE2b-256 checksum
How to use checksums
0279ebc981c2074497fe4a171788a570aad614d97d51298ee8287ce504d4ba7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp314-cp314-macosx_10_15_universal2.whl

Download URL copapy-0.0.8.post1.dev0-cp314-cp314-macosx_10_15_universal2.whl
Size 201.9 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
0b0dd8c435bf2b2d67d96b122eb36d7486123317fca4b69af17490325f2fdae2
BLAKE2b-256 checksum
How to use checksums
9e18cb95510da70c928c843016cd0068005392fee842b109e2e1f45f4c394114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-win_amd64.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-win_amd64.whl
Size 199.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8b439b063b1cad79a58613928cfefd9ae9a8697e90a5d4afac3bb52c6cfdcb12
BLAKE2b-256 checksum
How to use checksums
745aa7e1eab38fad61a420f5d5ed85ffd46cc17ea51fdf836720e550799a4fa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 210.6 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8f703c1d9300db147c52e3b168ee4184ea5b973ff5ee1511d49ff454c407ce9f
BLAKE2b-256 checksum
How to use checksums
cfaa0b03e1268a948b6678a3585dee726d6a1940199bd59a08f08d6f3aa1838b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_i686.whl
Size 210.1 kB
Tags CPython 3.13 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
7c077f5c4fdc1e6bfd9f18dc279c598b32121cff711470251cc108e54bcf5e70
BLAKE2b-256 checksum
How to use checksums
0441b289082c642ef36e473f5d110ef671cd82adcd056cb2eefdef663a28f941
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_armv7l.whl
Size 210.3 kB
Tags CPython 3.13 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
e67f6ab37801d028e1436617dc7b0918d69e3c98e35a118cfcd4c663d2170725
BLAKE2b-256 checksum
How to use checksums
7d255b0993a0506a648a242480cbfc5738742bc1e6831514f7d816e3995446b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 210.7 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
881291d44daaff25473f41d3ad29539666a9981feb46d6342887edd4a07566c4
BLAKE2b-256 checksum
How to use checksums
a0c7b9c0bc2bcb69830045e3582f95775cd092a8b7f2a87690eed4d6c054b0b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 210.8 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
10ef9c497ca1da4de4680282a73073acff1c9608d633c4ab2900270a2da5a822
BLAKE2b-256 checksum
How to use checksums
a7b0cd3aae477f027a188e3a9588e646788f889272c6ebd9dd7fb92e0a99e108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 216.3 kB
Tags CPython 3.13 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
2b8db3a47a48524197f689f5f3b136c1f7aed413b3f0f1306de39d925e79d739
BLAKE2b-256 checksum
How to use checksums
d7db48b334ba8e17110afc752f6b1b9815543fd57d51612c3bd46e7b6d76dfec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 211.5 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5ca8304acd741e0247d9f503ced73a4c61779ced97f2f4e199c001946c05e950
BLAKE2b-256 checksum
How to use checksums
f6a778510b83199fc5fc70908da6100dba1a4e2cf9780e39d0da3d98779803fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 209.9 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
19874713ac8624c537e47e03a792d42365a15af989aa4e4b3a125d78221bf53b
BLAKE2b-256 checksum
How to use checksums
e1e6cc1a4ac8b248b003e88a4c0947bd41a2b3e3e89666a3dd3f5533d8842aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-macosx_10_13_x86_64.whl
Size 197.6 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
fd115487fcc13856a6417cda19220398cf5ca6cec0eee58bf8b4399f3af1bc19
BLAKE2b-256 checksum
How to use checksums
5fb6734c6d0125ba3c3d49cecd2e842dc84e55ba7bc3b7129063c1a36d8ee364
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp313-cp313-macosx_10_13_universal2.whl

Download URL copapy-0.0.8.post1.dev0-cp313-cp313-macosx_10_13_universal2.whl
Size 201.9 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
dfc76ba1b8e70514f45ca3f75a92e1d806e057ebc3de74371d6ad65f966d1db6
BLAKE2b-256 checksum
How to use checksums
fc8e8c79b7d79658a35a40cf30c9158dee595cd65cd7f101a13621c1c6028861
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-win_amd64.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-win_amd64.whl
Size 199.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
bf982a0a6dd76f82971632dc4a592d7cecacf24b07830426533ee364e134521c
BLAKE2b-256 checksum
How to use checksums
de3b74cdcd72de3c75125ecea2acb416f43d6de3e69b2a720405feee28ea6bb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 210.5 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4fdc7f68fc6cc03151c24b7e77670f044ef083a3ab22699b358ce6d8de8f09ba
BLAKE2b-256 checksum
How to use checksums
866881886b02b0843be04718cd7bb08652a6c285aaf75e83a647e034a922bc23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_i686.whl
Size 210.1 kB
Tags CPython 3.12 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
1905617891b786ff142ad153770814bebaf9e02b61e33295a657462c944fce98
BLAKE2b-256 checksum
How to use checksums
bd692bdfb7ef51367f08f431603a76abc05d7b7eaebd9cb1036cb8452f54f0f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_armv7l.whl
Size 210.3 kB
Tags CPython 3.12 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
293591af1433ac1dd4d27b63fa45addf07448eae477862dbef77633183cd5849
BLAKE2b-256 checksum
How to use checksums
b369e5c56f82f4b0ab62611f1b91cb35e13a8a259546a815538522ffcfce6c94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 210.7 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5a4b2d051f250677dbebd8b89e9504da8bb1795d6336db42f5507386a46238a4
BLAKE2b-256 checksum
How to use checksums
fb816a31e1c4a418a0571b984336c57eaea7e2c30ba9449ee7850f7dc6cf690e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 210.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
068767d8e5ee8ff6a57b8c20aa7795f94e879c47b046e493f9bdf59753fb0a2a
BLAKE2b-256 checksum
How to use checksums
e0e471c4096e7443a6a977c4f45124753e3f345bbc8e3f647b4192ef1c887b9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 216.4 kB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
7c06dc316a0f968b3ab46531fbae502e7889d688d9fb29bb63c2b79917f4e9eb
BLAKE2b-256 checksum
How to use checksums
c4e2854b65a8e97e7646ad91058e4cc9623002a7d5d61c30a75dc21364066daf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 211.4 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b4db50ec970280fbce44e4dc70b8492c8f50acc2394d1b1605d53bfb92c8f6de
BLAKE2b-256 checksum
How to use checksums
541520329aca7cdf2e1f19a6c70d96f3501ee93c6505dc40137d3c2e51a6bd15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 209.8 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
a6772944c9d3e177296fb420699d67ca7e95f6ebac00d7f71f22f1e86eb98550
BLAKE2b-256 checksum
How to use checksums
cd4c0f95ab8f79e2dfb67f5a8c435c06da5c39aa9129720e67d78c9bf8d12ab8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-macosx_10_13_x86_64.whl
Size 197.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
1a3c708a123fc6cf01044ef01513d55eb73817ca92160517415dd95285612594
BLAKE2b-256 checksum
How to use checksums
8ad38408beecbf4aae0e1862439ec1145cb37c32d5904cc2e25b6e68ad18bab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp312-cp312-macosx_10_13_universal2.whl

Download URL copapy-0.0.8.post1.dev0-cp312-cp312-macosx_10_13_universal2.whl
Size 201.9 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
eb0c9966127120d912f1db4bc1a59a4bf9dce28833cadf704298b82f1f126ef4
BLAKE2b-256 checksum
How to use checksums
bdac2cbe7568a6d11950897357b519982e656584627bca23fbab7dcf9442e351
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-win_amd64.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-win_amd64.whl
Size 199.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ece8f3452bdd9ca1a00239de9300441eb325c8823ce3966b7f39130b5011c709
BLAKE2b-256 checksum
How to use checksums
cae47e21b2c4affa7a4e6e50d250575c1284dfeac2a89fcf5bf463faa35ca841
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 211.1 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
74d4568a0a2aaef70cd3d78a4954ffce74f6bf0caa26567d89ca64816af76518
BLAKE2b-256 checksum
How to use checksums
eb3099ed378509143a018742a7bb4d54029254096dab2bb0ba137d2aeb36278e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_i686.whl
Size 210.6 kB
Tags CPython 3.11 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
1aa2def6b32ed019e1437f0513879ab80b91b229a298af4647510e774cbab57f
BLAKE2b-256 checksum
How to use checksums
6a2e8d2c798083ebca42fe532ce2375ef00e2c8e682f6e59eca6a95212a2eb79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_armv7l.whl
Size 210.9 kB
Tags CPython 3.11 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
de511b8c16c51e71219b33c5764d739b974ebe0a0e922be95e887a66e6280cc0
BLAKE2b-256 checksum
How to use checksums
b8bce43ed3e55fae250d117c46aed41915e0fe07c2219aebcbfb03aef33051d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 211.2 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
74a6bb8ea1ef90388f2be6b7861324ace44666d146282a5bd51d1e21046bda64
BLAKE2b-256 checksum
How to use checksums
578c0b4ece21ca11be857edbc9bca0676e78768e27e8dc9ec2a30c4267777b15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 211.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
258ebb0309e2dbd2d715765eea9f667651bd3e6de7e7ddd72e76843d6108d326
BLAKE2b-256 checksum
How to use checksums
8a239fff3befc411a9bb41f5894120109f3118a39fb294ecb2d0438d3a0fdf38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 216.9 kB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
3f4bac395671b0882fe1f7809c646daaac0e95889f6319eced4519cf6b4f0d8e
BLAKE2b-256 checksum
How to use checksums
10cd1230109af1a3a5add173d422db97980bc5c647cb8a50217e265ea67ae848
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 211.9 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b960571b48dd8c646fb7ced762401a0f76b3d9f6956d5eb16da5a7810cabafbd
BLAKE2b-256 checksum
How to use checksums
b77a9d5c0e94fd0715e98f0747d0424c42606bfb69dddb5ccb743ddb811ec948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 210.4 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
54bcb228f20467116f9270cbc668d577115552657c4c079aea57dca623d72956
BLAKE2b-256 checksum
How to use checksums
1ca0691fee82e1ac3bd108147c3766b8fbc70759b3646d5ad999ea47d97c595d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-macosx_10_9_x86_64.whl
Size 197.5 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f029eb73e9bdc0bf1df58d2fdb9e2332e8b8cdaabac5bede1f37efb450dd1c2b
BLAKE2b-256 checksum
How to use checksums
4a1159d46fdcafef7137c858263b91f79be20dd5712e26a22b2254bf595c92e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp311-cp311-macosx_10_9_universal2.whl

Download URL copapy-0.0.8.post1.dev0-cp311-cp311-macosx_10_9_universal2.whl
Size 201.9 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
14fc13c08d6734cd953c1e79b6f18513f46d80e3dea3956a08fa41f0cf0ecd6e
BLAKE2b-256 checksum
How to use checksums
5b47f0c336547c361ef1913ae022bd5a76536627d347f1b32527d8dc1ae85ef4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-win_amd64.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-win_amd64.whl
Size 199.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
4850919b9a9780a0c3f012205d7da466ddfe69e688d3b2af632eaf074cca9627
BLAKE2b-256 checksum
How to use checksums
b3a7162df7b620cdeebf82594abd097650988f06e36eeeca0401349b8d8b8927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 210.2 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e6c37ea220bcd05d7f861b931f774d929e1f2caa6db86909c5baa05ec6d28bb8
BLAKE2b-256 checksum
How to use checksums
03e0c270b1a1c7f62e57a0502b1ac7fd23c3f51d8507e924da5bd764fc99d116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_i686.whl
Size 209.8 kB
Tags CPython 3.10 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
86960c88502dce1a31a59f6112c33303671a3566ff5fe940477a7262a8b6c859
BLAKE2b-256 checksum
How to use checksums
b14a86779f2d264ece896dbc3069ff5300b716ff29121102d4458a8758a9b3c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_armv7l.whl
Size 210.0 kB
Tags CPython 3.10 Linux musl 1.2+ ARMv7l
SHA-256 checksum
How to use checksums
0d5e381f2aa8a96a3818e3f3479c02e931f01b20b5e55f3baacce603afe31184
BLAKE2b-256 checksum
How to use checksums
5ae279526528a282cbb1f45ff685b071cca303074e07a5c3fe8960029239d506
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 210.4 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0ec502dcece4e62d6ae62c5dbf6068df95315083f2f7ac8faaf738de686412d4
BLAKE2b-256 checksum
How to use checksums
e13a098da1a55c2f0517a7b822afc6dac8c952774a977330a52ea9f173e7ef1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 210.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7685b5649104b302a7fa4cd24e27e46b37ddc84fc5e1e4942890e39e7449f3fa
BLAKE2b-256 checksum
How to use checksums
9bc13d38e916c7ed0186191c02b5b177c87318d68daf4f01a617ff7dc5c32639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 216.1 kB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l
SHA-256 checksum
How to use checksums
b6683b71c698197d736738647db95d86ea5d1517960e0b8fe08d831fb8446acd
BLAKE2b-256 checksum
How to use checksums
8c96a989f9e4d60d76a154a862a65efa95872614652253b04384c9408f8059ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 211.1 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8023a46b56703abd96e01477be6486102618a582a8a9800e06b0c2fd47ed4585
BLAKE2b-256 checksum
How to use checksums
1cfd54ba94004b251d13d42109c26bc4650280e5dc2d336d8dd998cdfadedad1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Size 209.6 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
f439796efcf07af0141291a5bfdd5605dfb0e4d666b13e64ecffee176b09fd59
BLAKE2b-256 checksum
How to use checksums
a6f7ebc943bfbc9ba2072d84416802a5945e620c48d317467f2b1e515d502884
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-macosx_10_9_x86_64.whl
Size 197.5 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1eef95c8cc97e45f576b2bf8a388275d8926f3df3167cb69ce21bb4b5c9e635d
BLAKE2b-256 checksum
How to use checksums
1adf76a3a608df504dde0bb0d86fd81b83406767cf564d7d0aaa9ead40259479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / copapy-0.0.8.post1.dev0-cp310-cp310-macosx_10_9_universal2.whl

Download URL copapy-0.0.8.post1.dev0-cp310-cp310-macosx_10_9_universal2.whl
Size 201.9 kB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
52aea5b646b6a10091d73601b6c7c77aa8048db8b9b76f0868cae1cd244189ab
BLAKE2b-256 checksum
How to use checksums
0afef59e6b7dd0d26eb56f8df04f4fd034462ccc452a3b923b89644ad81f08ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3
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