Skip to main content

A Python refactoring CLI tool with structured edits and pattern transforms

Project description

emend

A Python refactoring CLI built on LibCST. The name means "to make corrections to a text" — which is what it does, but with AST-aware precision instead of find-and-replace.

Two complementary systems: structured edits use selectors like file.py::func[params][0] for precise changes to symbol metadata, and pattern transforms use capture variables like print($X)logger.info($X) for code-pattern search and replace.

Installation

Using uv with free-threaded Python (recommended for best performance)

uv tool install --python 3.14t emend

Python 3.13+ ships a free-threaded variant (3.13t, 3.14t) that removes the GIL. emend's Rust core (emend_core) is already GIL-free (built with #[pymodule(gil_used = false)]), so on free-threaded Python it can run parallel file scans with no lock contention — meaning search, lint, refs, and rename across large codebases are significantly faster.

The --python 3.14t flag tells uv to use the free-threaded interpreter. Use 3.13t if you prefer the stable free-threaded release:

uv tool install --python 3.13t emend   # free-threaded 3.13 (stable)
uv tool install --python 3.14t emend   # free-threaded 3.14 (latest)

Using uv (standard Python)

uv tool install emend

Using pip

pip install emend

Run emend --help to verify. Full documentation at lucaswiman.github.io/emend.

Usage

emend <command> [options]

Workflow

All mutating commands default to dry-run, showing a diff of proposed changes. Re-run with --apply to write them. You'll probably want to run a formatter (black/ruff/isort) afterward, since emend doesn't try to preserve exact formatting.

Selector Syntax

Three types of selectors:

Symbol Selectors

file.py::Class.method.nested   # Nested symbol path
file.py::func                  # Module-level symbol

Extended Selectors (with components)

file.py::func[params]           # Function parameters
file.py::func[params][ctx]      # Specific parameter (by name)
file.py::func[params][0]        # Specific parameter (by index)
file.py::func[returns]          # Return annotation
file.py::func[decorators]       # Decorator list
file.py::MyClass[bases]         # Base classes
file.py::func[body]             # Function body

Pseudo-class Selectors

file.py::func[params]:KEYWORD_ONLY       # Keyword-only parameter slot
file.py::func[params]:POSITIONAL_ONLY    # Positional-only parameter slot

Line Selectors

file.py:42                      # Single line
file.py:42-100                  # Line range

Wildcard Selectors

file.py::*[params]              # All function parameters
file.py::Test*[decorators]      # Test class parameters
file.py::*.*[returns]           # All method return types
file.py::Class.*[body]          # All method bodies in Class

Wildcards support glob patterns:

  • * - Match any symbol at this level
  • Test* - Match symbols starting with Test
  • *.* - Match any method in any class
  • Class.* - Match any method in Class

Selector Grammar (Lark)

start: selector

selector: file_path DOUBLE_COLON symbol_path? component*

file_path: PATH
symbol_path: symbol_segment ("." symbol_segment)*
symbol_segment: WILDCARD | IDENTIFIER
component: "[" COMPONENT_NAME "]" accessor? pseudo_class?
accessor: "[" (IDENTIFIER | INT) "]"
pseudo_class: PSEUDO_CLASS

COMPONENT_NAME: "params" | "returns" | "decorators" | "bases" | "body" | "imports"
DOUBLE_COLON: "::"
PATH: /[^:]+/
WILDCARD: "*" | /[a-zA-Z_*][a-zA-Z0-9_*]*/
IDENTIFIER: /[a-zA-Z_][a-zA-Z0-9_]*/
INT: /-?\d+/
PSEUDO_CLASS: /:KEYWORD_ONLY|:POSITIONAL_ONLY|:POSITIONAL_OR_KEYWORD/

Commands

Search & Read

search - Unified search with auto-detection

  • Pattern mode: emend search 'print($X)' file.py
  • Lookup mode: emend search file.py::func
  • Summary mode: emend search file.py (list symbols)
  • Filters: --kind, --name, --returns, --depth, --has-param, --output, --where, --imported-from, --scope-local
  • Output formats: code, location, selector, summary, metadata, json, count, summary::flat, code::dedent
  • Also available as: query, show, get, lookup, find for intuitive workflows

Edit & Transform

edit - Modify or remove existing symbol components

  • Replace: emend edit file.py::func[returns] "int" --apply
  • Insert: emend edit file.py::func[params] "new_param" --before ctx --apply
  • Remove: emend edit file.py::func[params][old_param] --rm --apply
  • Wildcards: emend edit 'file.py::*[decorators]' "@dataclass" --apply

add - Insert new items into list components (alternative to edit)

  • emend add file.py::func[params] "timeout: int = 30" --apply
  • emend add "file.py::func[params]:KEYWORD_ONLY" "debug: bool" --apply

replace - Replace pattern matches with pattern-based substitution

  • emend replace 'print($X)' 'logger.info($X)' file.py --apply
  • Scope: --where (syntax: 'def', 'class', 'MyClass.method', 'not ...')

Symbol Management

refs - Find all references to a symbol across the project

  • emend refs models.py::User
  • Filters: --writes-only, --reads-only, --calls-only
  • Output: --json for JSON output (default shows file:line)

rename - Rename a symbol or module across the project

  • Symbol: emend rename models.py::User --to Account --apply
  • Module: emend rename models.py --to accounts.py --apply
  • Filters: --docs, --no-hierarchy, --unsure

move - Move a symbol or module with automatic import updates

  • Symbol: emend move utils.py::parse_date helpers/dates.py --apply
  • Module: emend move utils.py helpers/utils.py --apply

copy-to - Copy a symbol to another file

  • emend copy-to workflow.py::Builder._build.helper tasks.py --dedent --apply

Utilities

batch - Apply multiple refactoring operations from YAML/JSON file

  • emend batch rules.json --apply

lint - Lint files using pattern rules from .emend/patterns.yaml

  • emend lint src/
  • emend lint src/ --fix to auto-fix issues
  • emend lint src/ --rule no-print to run a single rule
  • See Linting documentation for full details

deadcode - Find potentially dead (unreferenced) code

  • emend deadcode src/
  • emend deadcode . --kind function --json
  • emend deadcode src/ --exclude-references-from tests/

graph - Generate a call graph for functions in a file

  • emend graph src/module.py --format plain
  • Formats: plain, json, dot

Examples

Search & Read Examples

# Search by pattern (pattern mode)
emend search 'print($X)' src/
emend search 'assertEqual($A, $B)' tests/ --output count

# Search by symbol (lookup mode)
emend search file.py::func
emend search src/ --kind function --name test_*
emend search file.py --output json

# Extract function parameters
emend search api.py::handler[params]
emend search 'api.py::*[params]'  # Wildcard: all function params in file

# Get return types
emend search 'src/**/*.py::*[returns]' --output metadata

# List symbols in a module
emend search file.py                          # Tree view
emend search file.py --output summary::flat   # Flat list
emend search file.py --depth 2                # Limit nesting depth

Edit Examples

# Update return type
emend edit api.py::handler[returns] "Response" --apply

# Add parameter with default value
emend edit api.py::handler[params] "timeout: int = 30" --apply

# Add keyword-only parameter
emend edit "api.py::handler[params]:KEYWORD_ONLY" "debug: bool" --apply

# Insert parameter before specific param
emend edit api.py::handler[params] "ctx: Context" --before user_id --apply

# Remove a specific parameter
emend edit api.py::handler[params][deprecated_arg] --rm --apply

# Edit multiple symbols at once (wildcards)
emend edit 'file.py::*[decorators]' "@dataclass" --apply

Pattern Transform Examples

# Simple find and replace (dry-run by default)
emend replace 'print($X)' 'logger.info($X)' file.py

# Replace within a specific scope
emend replace 'old_var' 'new_var' api.py --where process --apply

# Replace with pattern capture
emend replace 'get_field($N)' 'field$N' api.py --where process --apply

# String content interpolation: ${X.content} strips quotes from a captured string literal
emend replace 'Union["$X", $Y]' '$X | $Y' src/ --apply

# Find all pattern matches
emend search 'print($X)' src/ --output location

# Multi-rule batch operations
emend batch rules.json --apply

Symbol Management Examples

# Find all references to a symbol
emend refs models.py::User --json
emend refs models.py::User --writes-only    # Only write references
emend refs models.py::User --calls-only     # Only function calls

# Rename a symbol project-wide
emend rename models.py::User --to Account --apply

# Move a symbol to another file (updates imports)
emend move utils.py::parse_date helpers/dates.py --apply

# Copy a symbol to another file
emend copy-to workflow.py::Builder._build.helper tasks.py --dedent --apply

# List symbols using search
emend search workflow.py --depth 3

Pattern Syntax

Patterns support metavariables for capturing:

# Single expression
emend find 'print($MSG)' src/

# Multiple arguments with capture
emend find 'func($A, $B)' src/

# Variable arguments
emend find 'func($...ARGS)' src/

# Type constraints
emend find 'range($N:int)' src/

# Anonymous metavariables
emend find 'func($_, $ARG)' src/

# Structural constraints (via --where)
emend find 'print($X)' src/ --where 'async def'
emend find 'await $X' src/ --where 'not if __debug__'

# Supported pattern types:
#   Literals: $X, $MSG:str, $N:int, 3.14
#   Calls: func($X), obj.method($A, $B)
#   Operations: $A + $B, $A and $B, not $X, $X[$Y]
#   Collections: ($A, $B), [$X, $Y], {$K: $V}
#   Control: return $X, assert $A == $B, raise $EXC

Pattern Grammar (Lark)

start: pattern

pattern: (code_chunk | metavar)+

metavar: DOLLAR (ELLIPSIS)? METAVAR_NAME TYPE_CONSTRAINT?
       | DOLLAR UNDERSCORE

DOLLAR: "$"
ELLIPSIS: "..."
UNDERSCORE: "_"
METAVAR_NAME: /[A-Z][A-Z0-9_]*/
TYPE_CONSTRAINT: /:!?(?:expr|stmt|identifier|int|str|float|call|attr|any)/
code_chunk: /[^$:]+/ | ":"

The code_chunk rule excludes colons (/[^$:]+/) to prevent consuming colons that are part of type constraints (e.g., $MSG:str). A standalone colon is matched by the alternative | ":" for patterns containing colons outside of type constraints.

Diff Patch Format

- pattern_to_find
+ replacement_pattern

- another_pattern
+ another_replacement

Lines prefixed with - are matched; corresponding + lines are the replacement. Blank lines separate rules.

Linting

emend includes a pattern-based linter. Define rules in .emend/patterns.yaml and check your code for violations:

# .emend/patterns.yaml
macros:
  print_call: "print($...ARGS)"

rules:
  no-print:
    find: "{print_call}"
    not-inside: "def test_*"
    message: "Use logger instead of print"
    replace: "logger.info($...ARGS)"

  no-open-without-encoding:
    find: "open($PATH)"
    message: "Specify encoding when calling open()"
    replace: "open($PATH, encoding='utf-8')"
# Check for violations
emend lint src/

# Auto-fix violations that have a replace rule
emend lint src/ --fix

# Run only a specific rule
emend lint src/ --rule no-print

Suppress violations inline with # noqa comments:

print("keep this")  # noqa
print("keep this")  # noqa: emend:no-print
print("keep this")  # noqa: E501, emend:no-print  # mixed with other linters

Dead code detection

emend includes a deadcode section in .emend/patterns.yaml to detect unreferenced symbols as part of linting:

# .emend/patterns.yaml
deadcode: true

# Or with options:
deadcode:
  enabled: true
  kind: function                          # Only functions (or "class")
  exclude-references-from: ["tests/"]     # Ignore refs from tests
  include-private: false                  # Skip _private symbols
  strings-count-as-references: true       # String literals count as refs
  message: "Symbol appears to be unused"
# Run as part of lint
emend lint src/

# Or use the standalone command
emend deadcode src/
emend deadcode src/ --exclude-references-from tests/ --json

Suppress false positives inline:

def my_entry_point():  # noqa: emend:deadcode
    ...

pre-commit integration

emend can run as a pre-commit hook. Add to your .pre-commit-config.yaml:

repos:
  - repo: https://github.com/lucaswiman/emend
    rev: v0.2.0  # replace with desired version tag
    hooks:
      - id: emend-lint

This runs emend lint on staged Python files using your .emend/patterns.yaml config.

To auto-fix violations, add args: ["--fix"] to the hook configuration.

Development

Installing from Source

Clone the repository and install for development:

git clone https://github.com/lucaswiman/emend
cd emend

# Using make (creates a 3.14t venv, compiles the Rust extension, installs dev deps)
make venv

# Or manually (requires maturin and a Rust toolchain):
uv venv .venv --python 3.14t
uv pip install maturin
.venv/bin/maturin develop -E dev

Running Tests

# Run all tests
make test

# Run specific test file
make test TESTS=tests/test_emend/test_add_parameter.py

# Run specific test
make test TESTS="tests/test_emend/test_add_parameter.py::test_add_parameter_with_default"

Project Structure

emend/
├── src/emend/
│   ├── cli.py                # CLI entry point, argument parsing
│   ├── transform.py          # Transform primitives (get/set/add/remove/find/replace)
│   ├── pattern.py            # Pattern parsing and compilation
│   ├── query.py              # Symbol querying with filters
│   ├── ast_commands.py       # AST-based command implementations
│   ├── ast_utils.py          # AST traversal utilities
│   ├── component_selector.py # Extended selector parsing
│   ├── lint.py               # Pattern-based linter engine
│   └── grammars/
│       ├── selector.lark     # Extended selector grammar
│       └── pattern.lark      # Pattern grammar
├── rust/                     # emend_core Rust extension (bundled in wheel)
│   ├── src/lib.rs            # PyO3 bindings, GIL-free module definition
│   └── Cargo.toml
├── tests/test_emend/         # Test suite
├── Makefile
└── pyproject.toml            # maturin build (bundles Rust + Python in one wheel)

License

MPL 2.0

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

emend-0.2.2-cp314-cp314t-win_amd64.whl (502.4 kB view details)

Uploaded CPython 3.14tWindows x86-64

emend-0.2.2-cp314-cp314t-manylinux_2_39_x86_64.whl (705.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.39+ x86-64

emend-0.2.2-cp314-cp314t-manylinux_2_39_aarch64.whl (668.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.39+ ARM64

emend-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl (616.8 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

emend-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl (629.2 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

emend-0.2.2-cp314-cp314-win_amd64.whl (504.7 kB view details)

Uploaded CPython 3.14Windows x86-64

emend-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

emend-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (667.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

emend-0.2.2-cp314-cp314-macosx_11_0_arm64.whl (618.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

emend-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl (630.8 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

emend-0.2.2-cp313-cp313t-win_amd64.whl (502.2 kB view details)

Uploaded CPython 3.13tWindows x86-64

emend-0.2.2-cp313-cp313t-manylinux_2_39_x86_64.whl (705.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.39+ x86-64

emend-0.2.2-cp313-cp313t-manylinux_2_39_aarch64.whl (668.7 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.39+ ARM64

emend-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl (616.8 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

emend-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl (629.5 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

emend-0.2.2-cp313-cp313-win_amd64.whl (503.7 kB view details)

Uploaded CPython 3.13Windows x86-64

emend-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

emend-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (667.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

emend-0.2.2-cp313-cp313-macosx_11_0_arm64.whl (618.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

emend-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl (631.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

emend-0.2.2-cp312-cp312-win_amd64.whl (504.3 kB view details)

Uploaded CPython 3.12Windows x86-64

emend-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

emend-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (668.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

emend-0.2.2-cp312-cp312-macosx_11_0_arm64.whl (618.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

emend-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl (631.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

emend-0.2.2-cp311-cp311-win_amd64.whl (505.5 kB view details)

Uploaded CPython 3.11Windows x86-64

emend-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (706.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

emend-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (668.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

emend-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (621.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

emend-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl (632.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

emend-0.2.2-cp310-cp310-win_amd64.whl (505.4 kB view details)

Uploaded CPython 3.10Windows x86-64

emend-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (706.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

emend-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (668.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

emend-0.2.2-cp310-cp310-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

emend-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl (633.2 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file emend-0.2.2-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 502.4 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8baddedfc3be07f227b9e4f5facbecb5e9a44cd1805ad83ee051ff5ed1b78a42
MD5 11e1e579329a26244c67d9b4662d5e0f
BLAKE2b-256 f6c28658bcbe28890516cf1b46aa1cdac4567a094c852ef012352956fab34644

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314t-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314t-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314t-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b911d34716c490f02368ee464b7683be5a5aef025eb437de400207c60a0e24e2
MD5 84c6b9dbecbce71bd5ae9337b4d390c5
BLAKE2b-256 784a85655851a682d3ff0f65fa1182cdb1ee365c27dfd45ee6878edd5a6080a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314t-manylinux_2_39_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314t-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314t-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c37f88ef5ae8c7a4c0d8aa861fd3d0213e1188d9ca183e4bd3917071f917ee23
MD5 2254b8b1704ac1a5f3226e7c470b1ef2
BLAKE2b-256 f384cb45982bc2212aa31b41749a1174180f28461dafe2d0262f2cffed9d940f

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314t-manylinux_2_39_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9555a04b77e86f1c194f60d933d77e227da3eabd76cab85bda5626302e83d2c0
MD5 fcd206e07a731e0df2f32334f712c3d8
BLAKE2b-256 bbd300aae630b68f6137b354b498ff8e858d0f09ab45b3e7a5657b08272f3602

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cd773b19d600a05a045520190ee2adacc15349bd667560faa0a68fab081633cf
MD5 eda74c3e334bf3f13e3515b7b963baf6
BLAKE2b-256 c60b497d0e877366e0f8348f4d32a274a3a3c792651cf20c16bc4a8a53dd0aca

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314t-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 504.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 67fb7f4d3b10ce200e2e3377285717a60ddf3e33bca528ff43b6237ac7eb5143
MD5 b43728c78c3ee7a2d863804516e896ba
BLAKE2b-256 35f3c35759dd530777258e2c14630bdba0bd5092c58d01d94ba56cc556e21ec1

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c9f18e9c64698bba722c10c9b9664cfac0b4cff3999fa3566b07e19950643e3
MD5 9e246cd3a16c62f3428b819d3c5ec7ba
BLAKE2b-256 3c28e48d5773e88dcb83b2f6712cfe1edbf61e1c107d6440ef0adffa3c4ca616

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d2724bf520a0db5c3b1d4d5ac857a9783e8f1ca5c88578792e917ab24789af8c
MD5 e7051ed1d2f089d93759aaf8fe3a61a8
BLAKE2b-256 a32260d30f7bd769b9a3dc8c36b914b2e5ee26a2460a1110e3e0f5b4057fbd43

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c98b1d98494d42d72d2c4eee6dbd238b2718d9849874334972f829a545579733
MD5 fce779435921ef1adc65fff6bb88c6c4
BLAKE2b-256 cd444d570c3e2113fa8994463ae04602c2dcd0e624abe6cd23bb5f8bc518bf3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 55c3f5259ac14769ed325343c25a0b751c908a124dbcd346a46f365fe012a9ad
MD5 eb1dce1fa26514f9e69840ce012ab9b4
BLAKE2b-256 762933e903e3c3e214d1b4976511c04eec447fdb56c760f63f18198c89062c0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 502.2 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 f649f791fbe45ff2249a098d3a029acd31f855f792fd161a7ffa612d9c7670df
MD5 bb9aaca2e5f01c749738687032098632
BLAKE2b-256 77b56f3da4e0237b846e78438ece649d06b2ce6a34de6183847e824b3ec7252e

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313t-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313t-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313t-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 630f0daad0f8aa7eda194f6638964df8f97bf3f201f08f91326ae4ea4e251999
MD5 3f34347d2c9562161cd9d290d8018679
BLAKE2b-256 128f69a590aa5b68d13bbb2bb85c9d11a3b8d71600518c0be6166399c9f397eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313t-manylinux_2_39_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313t-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313t-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 9f9065c3380d7e24b5797b629cf120a3124ae335269629907c67b1534b45deab
MD5 be989e7c4cecb2e87d2ce55098d746d3
BLAKE2b-256 18a7c12e9ec700677d1f641a414c12b1bdbaaa09f9cd92f7bd90bd329e003bb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313t-manylinux_2_39_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c598981490fdcb7ca9f2d6c76ec6f220e2da1436c206a443fbfa048d5175a2c
MD5 199f4fe4dd4c0652dedadabab891fd94
BLAKE2b-256 a37227951be6baa1046edda49707c3374373d324f1c2a38ca67d97b437c2fbd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5324e903b9d1c7731c9c0d1ded9cf2b32e75bcee3841b2b144041aceaba3dd95
MD5 d2b32571b43c90ee9b702895441dc5e7
BLAKE2b-256 eda906d1ebd0598e1355e57615e88568cc0fbeadd5109e034801e94f4e3fcbb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313t-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 503.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 412f3110fa185ac610cd47e7fe562d0835d2bb3ce153aecbbe52b3fdaf5acc97
MD5 fee9753a655f47429044679e6f92e9fa
BLAKE2b-256 66a2f6669d1b77f000d1247920930edfd6494f2705b775a390771779f168b78b

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b368b1c0c7352b32d70f46d7a11127d6dcfcd44f560018f19ed93ecc9c625ef
MD5 8df450c08dfbc14c32e24e51c228a527
BLAKE2b-256 67c686b291f2ed390cf660f9c6b7ab04ca6ef61cb54d922eab9240a12bf1c692

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2e774cfed4195a86db78f441a3e7f1dbbc963334cd52768912408614d6f272c4
MD5 3bbdce40dc367d6c0d848211b7ec8175
BLAKE2b-256 1a8d562f005c9c2410bc0e2288ce0f45ca772dab292edf2a3e5f9eba68e86752

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa1c1f689301f3e3321130931d0a982b09598570162bac159141dfd6e63084bc
MD5 a97c98817ee221d6a922db483fb9a187
BLAKE2b-256 56a241f7e34d04781aec78afec82b2970e5afe89f1fb11c97328a22363a8a022

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d555532e63e0b5319a61e5f26402e4d1f7c707baee629d040629223e945373ed
MD5 c70e5c5878c28bff1b4642ab0d6d7477
BLAKE2b-256 a5d113362bf7e28787fc55576a31832ecf10a734632fb14f875f7bcecd1a8400

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 504.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3deef1daa6b459059365af321bf3a89148ae36c4169aa8421e9d716f6aab144
MD5 db4e68a0ba9aee58683e0ecfcf9523a6
BLAKE2b-256 e28e57769f1a748b8a1e7b7ec3d6e573d20ed5951190cbd81659f83515f098b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 927b74eaff65d83aac0e5eb4a0f31b0314c5de7b89dc443612d1145afeaefbd6
MD5 201233800a068a91d3c184bf97cf5289
BLAKE2b-256 45cc088ca7a5e0a27788715578690b44804db449c22cc40a4b5641e5d2a41425

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 61567987deebd8e074cbd06da5fb5c451c373caab5742519a48d43c7ec7dc0a2
MD5 c4c07fadc49f8d0a4d2a3d249208e2ab
BLAKE2b-256 45bc839c413cfe6ea4a9e29eac82b577c03c7d6c38e825cc0e479c3aacb97f63

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65fb5af889198149351f81d8c485a1c9d58d8e0824f6458d3296c7d351298a7c
MD5 d0ceefc99d918c26b38db3173702a002
BLAKE2b-256 be2dc66fa1e7d9241cd9de575ce420b64a1d638eb72bcf37b3f52df19fd78cb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a1483a6e56b9284fb603374977e4b450413fffd7d1d7b6cf21dfa0554870a0c5
MD5 4fb3022cfcaedd2dcb1d6368fd4b791c
BLAKE2b-256 23c1d4d887dfa984665d74c1d14f35576f09d25511b94dc89f722700cf4676f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 505.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7dfc036a0538f398de192be1817b93927d0865b9dba58791b6ac0b097c186e4d
MD5 9b1f5943d794218d5a2beb4c25b88b9f
BLAKE2b-256 aaaf4b6e7170b36aefbd6066efda4359b1c268019f4f2c3a6b862513d402607c

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07376953add4bab4a44f8ddc95b2646878ad2e647bdd3caeb4cc8a6e7ab3fb9f
MD5 238afcddaecde8a9469cdc5bd813b577
BLAKE2b-256 694773d0a66dfc14d9b093d26ef7ffa606a53a798683aeb9df7ce933a163e476

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a936c7b692af26a3a53baf0c9e64a564ce8a295e9723409055c0e920069f17e
MD5 e5f8bcde5dd3c39223cac9370dfe1ca7
BLAKE2b-256 1cf8f237d0e0fc2696ff2b3f91ac3fb67f454c5efebe060123e4a34d10a3fbec

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed5cc85985e126e0616d75719392b0ee64a844ef8a8d738add07e50f02bc7707
MD5 f8a5521cfec3f17d7ba47d305d2dcbc3
BLAKE2b-256 9a9d2e6c3c93da9ec8eb6eefb21fbaab22f50c9d2afcabe7d6e784f09f7be419

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f1a2ec358007347da39b6ba3af22a05bd5fef87294738ee3cc8cd7ea40a71e13
MD5 e90380f28c5915828b0c3132d9015f85
BLAKE2b-256 e30605d05777930b56143df852181a6484751ba6766f545dea74552d6e831965

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: emend-0.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 505.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emend-0.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fd1485550fe55e2411ac77c9bff1b30aaf374dc85825c788dee909e49378c74a
MD5 0f1416ae8669ffb0bc906abf8497e7ab
BLAKE2b-256 6ba226eaf63c780c3dfd469c02107af1fbdcea43e7e596f6cac12fbb0843a9ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb51aa0a1f61608ad71cfb460820109576dd3803f23c9b0743dafb27b45e918e
MD5 092f2456174b7b19a8c0e6bf512b9ce9
BLAKE2b-256 fe9899fc63b1b3e82a6383cd1f027932b0a8db3dc7364d8449eeaa4f5461408f

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 695d8bc275ea9203461238389f07420d8cb77277a23c56de60d05bd06a963b92
MD5 a7d7bb335f265dcf121a884a7d0af515
BLAKE2b-256 f2f22efe095c942142cdd0f18ae6176b181d0254a12698c5d83f8577dd1bee2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7701a4914a2fc7495e56c5dfe5cb49795cde5f50cfa4462264a0e81f205f66a5
MD5 d183030f87db2d2dcbab4b78020d55c7
BLAKE2b-256 0c19e6ccb9824ce42b10a7fa2de074b81eb3b8f7f778b51f1b82531595f8d4d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emend-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for emend-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b7ace631f983b928e9c2407271fcb287da1d091d33fe472e6d721f776d86a36a
MD5 ba12e83cb831240bafff9fccfbafb893
BLAKE2b-256 0400e3c17accc77b14088e832f2065b82016f0f68853ff8ce4cc97bcdb92c996

See more details on using hashes here.

Provenance

The following attestation bundles were made for emend-0.2.2-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on lucaswiman/emend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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