Python FFI to y-scope/log-surgeon.
Project description
log-surgeon-ffi
Python FFI bindings for log-surgeon, a high-performance library for parsing unstructured log messages into structured data.
Overview
log-surgeon-ffi provides a Pythonic interface to the log-surgeon C++ library, enabling efficient extraction of structured information from unstructured log files. It uses schema-based pattern matching to:
- Extract variables from log messages using regex patterns with named capture groups
- Generate log types (templates) automatically for log analysis
- Parse streams efficiently for large-scale log processing
- Export data to pandas DataFrames and PyArrow Tables
Installation
pip install log-surgeon-ffi
Note: pandas and pyarrow are included as dependencies for DataFrame/Arrow support.
Quick Start
Basic Parsing
from log_surgeon import Parser
# Create a parser and define extraction patterns
parser = Parser()
parser.add_var(
"memoryStore",
r"MemoryStore started with capacity (?<memory_store_capacity_GiB>\d+\.\d+) GiB"
)
parser.compile()
# Parse a log event
log_line = " INFO [main] MemoryStore: MemoryStore started with capacity 7.0 GiB\n"
event = parser.parse_event(log_line)
# Access extracted data
print(f"Message: {event.get_log_message()}")
print(f"LogType: {event.get_log_type()}")
print(f"Capacity: {event['memory_store_capacity_GiB']}")
Multiple Capture Groups
from log_surgeon import Parser
parser = Parser()
# Extract platform information (level, thread, component)
parser.add_var(
"platform",
rf"(?<platform_level>(INFO)|(WARN)|(ERROR)) \[(?<platform_thread>.+)\] (?<platform_component>.+):"
)
# Extract application-specific metrics
parser.add_var(
"memoryStore",
rf"MemoryStore started with capacity (?<memory_store_capacity_GiB>\d+\.\d+) GiB"
)
parser.compile()
event = parser.parse_event(" INFO [main] MemoryStore: MemoryStore started with capacity 7.0 GiB\n")
print(f"Level: {event['platform_level']}")
print(f"Thread: {event['platform_thread']}")
print(f"Component: {event['platform_component']}")
print(f"Capacity: {event['memory_store_capacity_GiB']}")
Stream Parsing
from log_surgeon import Parser
parser = Parser()
parser.add_var("metric", rf"value=(?<value>\d+)")
parser.compile()
# Parse from string (automatically converted to StringIO)
log_data = """
2024-01-01 INFO: Processing metric value=42
2024-01-01 INFO: Processing metric value=100
2024-01-01 INFO: Processing metric value=7
"""
for event in parser.parse(log_data):
print(f"Value: {event['value']}")
# Or parse from file object directly
with open("logs.txt", "r") as f:
for event in parser.parse(f):
print(f"Value: {event['value']}")
Using Pattern Constants
from log_surgeon import Parser, Pattern
parser = Parser()
parser.add_var("network", rf"IP: (?<ip>{Pattern.IPV4}) UUID: (?<id>{Pattern.UUID})")
parser.add_var("metrics", rf"value=(?<value>{Pattern.FLOAT})")
parser.compile()
log_line = "IP: 192.168.1.1 UUID: 550e8400-e29b-41d4-a716-446655440000 value=42.5"
event = parser.parse_event(log_line)
print(f"IP: {event['ip']}")
print(f"UUID: {event['id']}")
print(f"Value: {event['value']}")
Export to DataFrame
from log_surgeon import Parser, Query
parser = Parser()
parser.add_var(
"metric",
rf"metric=(?<metric_name>\w+) value=(?<value>\d+)"
)
parser.compile()
log_data = """
2024-01-01 INFO: metric=cpu value=42
2024-01-01 INFO: metric=memory value=100
2024-01-01 INFO: metric=disk value=7
"""
# Create a query and export to DataFrame
query = (
Query(parser)
.select(["metric_name", "value"])
.from_(log_data)
.validate_query()
)
df = query.to_dataframe()
print(df)
Filtering Events
from log_surgeon import Parser, Query
parser = Parser()
parser.add_var("metric", rf"metric=(?<metric_name>\w+) value=(?<value>\d+)")
parser.compile()
log_data = """
2024-01-01 INFO: metric=cpu value=42
2024-01-01 INFO: metric=memory value=100
2024-01-01 INFO: metric=disk value=7
2024-01-01 INFO: metric=cpu value=85
"""
# Filter events where value > 50
query = (
Query(parser)
.select(["metric_name", "value"])
.from_(log_data)
.filter(lambda event: int(event['value']) > 50)
.validate_query()
)
df = query.to_dataframe()
print(df)
# Output:
# metric_name value
# 0 memory 100
# 1 cpu 85
Including Log Metadata
Use special fields @log_type and @log_message to include log metadata alongside extracted variables:
from log_surgeon import Parser, Query
parser = Parser()
parser.add_var("metric", rf"value=(?<value>\d+)")
parser.compile()
log_data = """
2024-01-01 INFO: Processing value=42
2024-01-01 WARN: Processing value=100
"""
# Select log type, message, and all variables
query = (
Query(parser)
.select(["@log_type", "@log_message", "*"])
.from_(log_data)
.validate_query()
)
df = query.to_dataframe()
print(df)
# Output:
# @log_type @log_message value
# 0 <timestamp> INFO: Processing <metric> 2024-01-01 INFO: Processing value=42 42
# 1 <timestamp> WARN: Processing <metric> 2024-01-01 WARN: Processing value=100 100
The "*" wildcard expands to all variables defined in the schema and can be combined with other fields like @log_type and @log_message.
Analyzing Log Types
Discover and analyze log patterns in your data using log type analysis methods:
from log_surgeon import Parser, Query
parser = Parser()
parser.add_var("metric", rf"value=(?<value>\d+)")
parser.add_var("status", rf"status=(?<status>\w+)")
parser.compile()
log_data = """
2024-01-01 INFO: Processing value=42
2024-01-01 INFO: Processing value=100
2024-01-01 WARN: System status=degraded
2024-01-01 INFO: Processing value=7
2024-01-01 ERROR: System status=failed
"""
query = Query(parser).from_(log_data)
# Get all unique log types
print("Unique log types:")
for log_type in query.get_log_types():
print(f" {log_type}")
# Reset stream for next analysis
query.from_(log_data)
# Get log type occurrence counts
print("\nLog type counts:")
counts = query.get_log_type_counts()
for log_type, count in sorted(counts.items(), key=lambda x: -x[1]):
print(f" {count:3d} {log_type}")
# Reset stream for next analysis
query.from_(log_data)
# Get sample messages for each log type
print("\nLog type samples:")
samples = query.get_log_type_with_sample(sample_size=2)
for log_type, messages in samples.items():
print(f" {log_type}")
for msg in messages:
print(f" - {msg.strip()}")
Output:
Unique log types:
<timestamp> INFO: Processing <metric>
<timestamp> WARN: System <status>
<timestamp> ERROR: System <status>
Log type counts:
3 <timestamp> INFO: Processing <metric>
1 <timestamp> WARN: System <status>
1 <timestamp> ERROR: System <status>
Log type samples:
<timestamp> INFO: Processing <metric>
- 2024-01-01 INFO: Processing value=42
- 2024-01-01 INFO: Processing value=100
<timestamp> WARN: System <status>
- 2024-01-01 WARN: System status=degraded
<timestamp> ERROR: System <status>
- 2024-01-01 ERROR: System status=failed
API Reference
Parser
High-level parser for extracting structured data from unstructured log messages.
Constructor
Parser(delimiters: str = r" \t\r\n:,!;%@/\(\)\[\]")- Initialize a parser with optional custom delimiters
- Default delimiters include space, tab, newline, and common punctuation
Methods
-
add_var(name: str, regex: str, hide_var_name_if_named_group_present: bool = True) -> Parser- Add a variable pattern to the parser's schema
- Supports named capture groups using
(?<name>)syntax - Use raw f-strings (
rf"...") for regex patterns (see Using Raw F-Strings) - Returns self for method chaining
-
add_timestamp(name: str, regex: str) -> Parser- Add a timestamp pattern to the parser's schema
- Returns self for method chaining
-
compile(enable_debug_logs: bool = False) -> None- Build and initialize the parser with the configured schema
- Must be called after adding variables and before parsing
- Set
enable_debug_logs=Trueto output debug information to stderr
-
load_schema(schema: str, group_name_resolver: GroupNameResolver) -> None- Load a pre-built schema string to configure the parser
-
parse(input: str | TextIO | BinaryIO | io.StringIO | io.BytesIO) -> Generator[LogEvent, None, None]- Parse all log events from a string, file object, or stream
- Accepts strings, text/binary file objects, StringIO, or BytesIO
- Yields LogEvent objects for each parsed event
-
parse_event(payload: str) -> LogEvent | None- Parse a single log event from a string (convenience method)
- Wraps
parse()and returns the first event - Returns LogEvent or None if no event found
LogEvent
Represents a parsed log event with extracted variables.
Methods
-
get_log_message() -> str- Get the original log message
-
get_log_type() -> str- Get the generated log type (template) with logical group names
-
get_capture_group(logical_capture_group_name: str, raw_output: bool = False) -> str | list | None- Get the value of a capture group by its logical name
- If
raw_output=False(default), single values are unwrapped from lists - Returns None if capture group not found
-
get_capture_group_str_representation(field: str, raw_output: bool = False) -> str- Get the string representation of a capture group value
-
get_resolved_dict() -> dict[str, str | list]- Get a dictionary with all capture groups using logical (user-defined) names
- Physical names (CGPrefix*) are converted to logical names
- Timestamp fields are consolidated under "timestamp" key
- Single-value lists are unwrapped to scalar values
- "@LogType" is excluded from the output
-
__getitem__(key: str) -> str | list- Access capture group values by name (e.g.,
event['field_name']) - Shorthand for
get_capture_group(key, raw_output=False)
- Access capture group values by name (e.g.,
-
__str__() -> str- Get formatted JSON representation of the log event with logical group names
- Uses
get_resolved_dict()internally
Query
Query builder for parsing log events into structured data formats.
Constructor
Query(parser: Parser)- Initialize a query with a configured parser
Methods
-
select(fields: list[str]) -> Query- Select fields to extract from log events
- Supports variable names,
"*"for all variables,"@log_type"for log type, and"@log_message"for original message - The
"*"wildcard can be combined with other fields (e.g.,["@log_type", "*"]) - Returns self for method chaining
-
filter(predicate: Callable[[LogEvent], bool]) -> Query- Filter log events using a predicate function
- Predicate receives a LogEvent and returns True to include it, False to exclude
- Returns self for method chaining
- Example:
query.filter(lambda event: int(event['value']) > 50)
-
from_(input: str | TextIO | BinaryIO | io.StringIO | io.BytesIO) -> Query- Set the input source to parse
- Accepts strings, text/binary file objects, StringIO, or BytesIO
- Strings are automatically wrapped in StringIO
- Returns self for method chaining
-
select_from(input: str | TextIO | BinaryIO | io.StringIO | io.BytesIO) -> Query- Alias for
from_() - Returns self for method chaining
- Alias for
-
from_stream(stream: io.StringIO | io.BytesIO) -> Query- Set the input stream to parse (legacy method)
- Consider using
from_()for more flexible input handling - Returns self for method chaining
-
validate_query() -> Query- Validate that the query is properly configured
- Returns self for method chaining
-
to_dataframe() -> pd.DataFrame- Convert parsed events to a pandas DataFrame
-
to_df() -> pd.DataFrame- Alias for
to_dataframe()
- Alias for
-
to_arrow() -> pa.Table- Convert parsed events to a PyArrow Table
-
to_pa() -> pa.Table- Alias for
to_arrow()
- Alias for
-
get_rows() -> list[list]- Extract rows of field values from parsed events
-
get_vars() -> KeysView[str]- Get all variable names (logical capture group names) defined in the schema
-
get_log_types() -> Generator[str, None, None]- Get all unique log types from parsed events
- Yields log types in the order they are first encountered
- Useful for discovering log patterns in your data
-
get_log_type_counts() -> dict[str, int]- Get count of occurrences for each unique log type
- Returns dictionary mapping log types to their counts
- Useful for analyzing log type distribution
-
get_log_type_with_sample(sample_size: int = 3) -> dict[str, list[str]]- Get sample log messages for each unique log type
- Returns dictionary mapping log types to lists of sample messages
- Useful for understanding what actual messages match each template
SchemaCompiler
Compiler for constructing log-surgeon schema definitions.
Constructor
SchemaCompiler(delimiters: str = DEFAULT_DELIMITERS)- Initialize a schema compiler with optional custom delimiters
Methods
-
add_var(name: str, regex: str, hide_var_name_if_named_group_present: bool = True) -> SchemaCompiler- Add a variable pattern to the schema
- Returns self for method chaining
-
add_timestamp(name: str, regex: str) -> SchemaCompiler- Add a timestamp pattern to the schema
- Returns self for method chaining
-
remove_var(var_name: str) -> SchemaCompiler- Remove a variable from the schema
- Returns self for method chaining
-
get_var(var_name: str) -> Variable- Get a variable by name
-
compile() -> str- Compile the final schema string
-
get_capture_group_name_resolver() -> GroupNameResolver- Get the resolver for mapping logical to physical capture group names
GroupNameResolver
Bidirectional mapping between logical (user-defined) and physical (auto-generated) group names.
Constructor
GroupNameResolver(physical_name_prefix: str)- Initialize with a prefix for auto-generated physical names
Methods
-
create_new_physical_name(logical_name: str) -> str- Create a new unique physical name for a logical name
- Each call generates a new physical name
-
get_physical_names(logical_name: str) -> set[str]- Get all physical names associated with a logical name
-
get_logical_name(physical_name: str) -> str- Get the logical name for a physical name
-
get_all_logical_names() -> KeysView[str]- Get all logical names that have been registered
Pattern
Collection of common regex patterns for log parsing.
Class Attributes
-
Pattern.UUID- Pattern for UUID (Universally Unique Identifier) strings
-
Pattern.IP_OCTET- Pattern for a single IPv4 octet (0-255)
-
Pattern.IPV4- Pattern for IPv4 addresses
-
Pattern.INT- Pattern for integer numbers (with optional negative sign)
-
Pattern.FLOAT- Pattern for floating-point numbers (with optional negative sign)
Example Usage
from log_surgeon import Parser, Pattern
parser = Parser()
parser.add_var("ip", rf"IP: (?<ip_address>{Pattern.IPV4})")
parser.add_var("id", rf"ID: (?<uuid>{Pattern.UUID})")
parser.add_var("value", rf"value=(?<val>{Pattern.FLOAT})")
parser.compile()
Key Concepts
Delimiters
Delimiters are characters used to split log messages into tokens. The default delimiters include:
- Whitespace: space, tab (
\t), newline (\n), carriage return (\r) - Punctuation:
:,,,!,;,%,@,/,(,),[,]
You can customize delimiters when creating a Parser:
parser = Parser(delimiters=r" \t\n,:") # Custom delimiters
Named Capture Groups
Use named capture groups in regex patterns to extract specific fields:
parser.add_var("metric", rf"metric=(?<metric_name>\w+) value=(?<value>\d+)")
The syntax (?<name>pattern) creates a capture group that can be accessed as event['name'].
Note: See Using Raw F-Strings for best practices on writing regex patterns.
Using Raw F-Strings for Regex Patterns
Best Practice: Use raw f-strings (rf"...") when specifying regex patterns to avoid escaping issues.
Raw f-strings combine the benefits of:
- Raw strings (
r"..."): No need to double-escape regex special characters like\d,\w,\n - F-strings (
f"..."): Easy interpolation of variables and pattern constants
Why Use Raw F-Strings?
# ❌ Without raw strings - requires double-escaping
parser.add_var("metric", "value=(\\d+)") # Hard to read, error-prone
# ✅ With raw f-strings - single escaping, clean and readable
parser.add_var("metric", rf"value=(?<value>\d+)")
Watch Out for Braces
When using f-strings, literal { and } characters must be escaped by doubling them:
from log_surgeon import Parser, Pattern
parser = Parser()
# ✅ Correct: Escape literal braces in regex
parser.add_var("json", rf"data={{(?<content>[^}}]+)}}") # Matches: data={...}
parser.add_var("range", rf"range={{(?<min>\d+),(?<max>\d+)}}") # Matches: range={10,20}
# ✅ Using Pattern constants with interpolation
parser.add_var("ip", rf"IP: (?<ip>{Pattern.IPV4})")
parser.add_var("float", rf"value=(?<val>{Pattern.FLOAT})")
# ✅ Common regex patterns
parser.add_var("digits", rf"\d+ items") # No double-escaping needed
parser.add_var("word", rf"name=(?<name>\w+)")
parser.add_var("whitespace", rf"split\s+by\s+spaces")
parser.compile()
Examples: Raw F-Strings vs Regular Strings
# Regular string - requires double-escaping
parser.add_var("path", "path=(?<path>\\w+/\\w+)") # Hard to read
# Raw f-string - natural regex syntax
parser.add_var("path", rf"path=(?<path>\w+/\w+)") # Clean and readable
# With interpolation
log_level = "INFO|WARN|ERROR"
parser.add_var("level", rf"(?<level>{log_level})") # Easy to compose
Recommendation: Consistently use rf"..." for all regex patterns. This approach:
- Avoids double-escaping mistakes
- Makes patterns more readable
- Allows easy use of Pattern constants and variables
- Only requires watching for literal
{and}characters (escape as{{and}})
Logical vs Physical Names
Internally, log-surgeon uses "physical" names (e.g., CGPrefix0, CGPrefix1) for capture groups, while you work with "logical" names (e.g., user_id, thread). The GroupNameResolver handles this mapping automatically.
Schema Format
The schema defines delimiters, timestamps, and variables for parsing:
// schema delimiters
delimiters: \t\r\n:,!;%@/\(\)\[\]
// schema timestamps
timestamp:<timestamp_regex>
// schema variables
variable_name:<variable_regex>
When using the fluent API (Parser.add_var() and Parser.compile()), the schema is built automatically.
Development
Building from Source
# Clone the repository
git clone https://github.com/y-scope/log-surgeon-ffi-py.git
cd log-surgeon-ffi-py
# Install the project in editable mode
pip install -e .
# Build the extension
cmake -S . -B build
cmake --build build
Running Tests
# Install test dependencies
pip install pytest
# Run tests
python -m pytest tests/
Requirements
- Python >= 3.9
- pandas
- pyarrow
Build Requirements
- C++20 compatible compiler
- CMake >= 3.15
License
Apache License 2.0 - See LICENSE for details.
Links
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
442bc8aab935289f99ba82f79aaee4302a5f5a1d2d3ad11b053b2e2961c5d702
|
|
| MD5 |
ac6dddd1d8b9f4da38b5d07442a6b37f
|
|
| BLAKE2b-256 |
59878b77d46949db4a15bfcd1e99274943a485acb90ce39bf2e1c12946e6b969
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c7eabc4222061606d99769bbd62c083d9ef80af033266ef5a37ff512aebc7cc
|
|
| MD5 |
327be04d909e2139d8e17c369c1f82a5
|
|
| BLAKE2b-256 |
5fee2169d83ea26214354bb26ac55f23e07a13f14ecca1dc1e0ead3993103b4c
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0804bf09151d0ee76131e3d584eb5a2c6150601dc5f6dab459354b06ea122a1c
|
|
| MD5 |
14af693805eeb8fb2ea3d2623e5c085e
|
|
| BLAKE2b-256 |
73b80a0089351350b4c4dae757fa4b108b9f70da2dc536ec128356acfe3b42b3
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 341.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40f03ac0255ac78db7c216010fb387f46646c3e9de3ff3d55c3753584f983b96
|
|
| MD5 |
3db6513fb1db9574484ed4165cf9aa87
|
|
| BLAKE2b-256 |
ba4e4f807e440f7e39d3cc2640947a439ebc3ab61dd767d0dbaeac919c5cb304
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 357.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c6b95d74d267719dc9e50adbc931c21ebac0da617bc4ab2fa915bcb5cc8ec65
|
|
| MD5 |
a74297e107d6d1cd549571625b06f661
|
|
| BLAKE2b-256 |
9338e1a725c0e8f6e33f2d494f4a707433135d0db2c3c574c24d0de672abaa8e
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab31238113a1fb4d6906bd9df72327afb678455fa7f8d964720dc07be145cc5c
|
|
| MD5 |
07838f16434175941f7aeddf93b68f99
|
|
| BLAKE2b-256 |
6a8b7e5a00d9a8cb7c14a2ce5b82ea9fe5542bc7e9a8b4ccb533c05f705c5d95
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
739f0ae02da8faa5d5c356a6eaeffb1defa43931cd24fdf1b72b2eef29c56a47
|
|
| MD5 |
1085ca5ece79f544d3609af028299138
|
|
| BLAKE2b-256 |
d01b6a16b7780ccf924518d4f0c18330ec51d19fecad31b06520f785fb4eb433
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp312-cp312-musllinux_1_2_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5fbdfd701fe1007260ecf48f1a320472e524fbbcd1f00ddc06ff62cbf202d73
|
|
| MD5 |
8635e855c6545c0bf59771ea76c8d7e7
|
|
| BLAKE2b-256 |
737cf1de0d99530222ff1360969fac74be86844d2a265b83e732f0d81af11cdd
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fabbde3fabc02b313d6250b621a0b8aaaf21787889f411e53c52fc425013c86c
|
|
| MD5 |
44b44197abf3af24cef4fa43d632308c
|
|
| BLAKE2b-256 |
5e0694d000a13f022197116bd03fecbbea7e5ada3ea77759fcd8ea8d2d6becc3
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 341.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cde7eeb8b277896e8f9005923f6f0afab128215213316edd5a767a6bd8ab5415
|
|
| MD5 |
a087b216b3204737d8074c49554861d7
|
|
| BLAKE2b-256 |
50583ac0a5f8386165f880358c59f401f9422a116cbce90fe7460cec6fb8d716
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 357.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45edc3f44442791eb0c71b5b0cee0a2187ad9811a7b1cfc24c8ffc323b6ea2f0
|
|
| MD5 |
d7ecfa4431c7baf3c0cf998ee304de87
|
|
| BLAKE2b-256 |
a80a1aa44fd26a23f213a23db83783007d31ad2393ded9ae842062c6241b8b82
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b87e175718884a9baca615d4e673ec5a7dcedad3eca635b0a339c76dd2e8a267
|
|
| MD5 |
01463d7df5f4c87bbb8a09773baa1c18
|
|
| BLAKE2b-256 |
fde6ff299b7586b6bd2d2fb3d8dc6c9cff5974a5a7412de0bdeb08d9f7c1f7fb
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cee4e694d44f5defc03cd1249f2fbe29789b0f2957cccbc47c47dc58fd473302
|
|
| MD5 |
b32f8bcedeff6832fcdd9e8f41c90b43
|
|
| BLAKE2b-256 |
586b93ae6d4b0e78f3faf12a9017bfd51fa0b38f7dd73881b9413bfab868ca4e
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp311-cp311-musllinux_1_2_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp311-cp311-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be28c8beef009c0ddfee939ceb344f73818228f6f0aa4f0921c87037f18a82cb
|
|
| MD5 |
2e772788bf5a87a95249cb61cb3dc206
|
|
| BLAKE2b-256 |
11545c348bf15edfff050b1eb0ed0726b12fbe98d9aec6725f5ace1756d3bff1
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aca57bc3029488027f85d13b06846718faca9795ff2f02c411650d54c9e9619
|
|
| MD5 |
4f1323c6630de10d890006a8ad31297b
|
|
| BLAKE2b-256 |
36527925a94997d6d7f0bffbc2bad242a4102be4b3ff1af205276a6726bea2db
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 340.9 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2135047d63eecec467a9ba08260d4096e4907abb592be43d45b04a37d3f9e235
|
|
| MD5 |
942ac9aab7d0f173f99ae4761dda9809
|
|
| BLAKE2b-256 |
8f7977ddd618ac3aec09decb1aeb3ad3803f3e938866a8571dcc01418e457970
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 357.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a81b080feaafb3d15317a098ce2cab7a2c9b412c3b61355bae20976c78f85465
|
|
| MD5 |
59613a2a93e56ddec8b44329ce74a111
|
|
| BLAKE2b-256 |
46088c93f63a7c8c6954403145aec87938be45d0ffe86b705b3e12717176792c
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c1fa3f48078da13e63a216840d417ff11d701ade0f75b6011f7143744878bed
|
|
| MD5 |
53bfd91aee05108c1b366795cc69d752
|
|
| BLAKE2b-256 |
aee279f64330734f6fa3ca2173d6ae0ec41577cb3bf6e4ad41e9a4046661c125
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
551b5dd3aad7a75410404315e2da173413fd5e2ee345cb9dedd5b53e11d66d68
|
|
| MD5 |
da7e172741151ab3a79758b4a9322450
|
|
| BLAKE2b-256 |
1c1f5a386dc0616d4c15c2b6e9c7c20a220996fafd7a9f831531dc15f8f1d840
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp310-cp310-musllinux_1_2_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp310-cp310-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7093a01771bbb595b29f5a905003ab03f23464abd2b9ff17cad2c08b2562d33f
|
|
| MD5 |
145b3b2f38a5a7109093789e0e4ed83e
|
|
| BLAKE2b-256 |
a4c682178c91d816060e803e40858961836538aef1748dc8e1b92d2555251b9b
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp310-cp310-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp310-cp310-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9858b44f261aea0f9ea30f0bb0a80fd1d97f9331cc79375995f47a8a5a8259a6
|
|
| MD5 |
3b6d6c52ef8be7b0ecf67c9052706464
|
|
| BLAKE2b-256 |
18b545c763f931f2a4431467e771a8878dc760f0af946beb5e5fe495ba5ec18a
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 340.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2af70e3f36eb41d03f9f5d3a3282138f929905e4061c4a8fccca850e7929f160
|
|
| MD5 |
f7c46b95fed6588d44ccba22885c6dc6
|
|
| BLAKE2b-256 |
3264773e56f302422b5868542ee218156b89b4f32f877fb9436d6a1a05f7bbbf
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 357.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c5eead80b12d4fa56c6faab404f0b19842ab068eb596908d275a76aed2a2eef
|
|
| MD5 |
9b9b7f13e5f55b9bdf6720da50ceb369
|
|
| BLAKE2b-256 |
1967afb8f9a40708065e1a58ac04431fa43b224931485fca6d7350202335d4dd
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6cd212686757afa22d6a8435f5919a2f8e00036e79609b2244e1f3db174fda8
|
|
| MD5 |
3f4961dd509ab6c008c5e4d27eb22cad
|
|
| BLAKE2b-256 |
92bdce4c3e6f9a12e0e8fff0dd7497d3ac7658734473ff25f97a285fecdb4afa
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289ea8822fa62cadb64b25933235c7f46f7b23578753f01efc8d2bf1014fa942
|
|
| MD5 |
9846f172b9f1cb97ce8f62970e3cc981
|
|
| BLAKE2b-256 |
781798e784f355d87fc79b4ebc3c3d6b81d96e0f1789105cbad39075677d9b28
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp39-cp39-musllinux_1_2_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp39-cp39-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95dfeeea195e09ff1937109f295f3305525a0217a3decdaf16251fde010b8630
|
|
| MD5 |
f73a939c9ae6a3ab788894e62870e8ce
|
|
| BLAKE2b-256 |
9e502202d191214e6c5a005d9a02d4f8e196ae31b6beee1b7c9b4ca599d27ffb
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp39-cp39-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp39-cp39-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43b4c9bac25cec4c172a82a68e1e9ec25ce53f8698dacbe6e316463329adfadf
|
|
| MD5 |
2c769dee3357736d6d345b2470b86003
|
|
| BLAKE2b-256 |
b446268fe039a40a97159aa380e8c34ca1286d4579593b5ed90adeb92e96749d
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 340.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaa103d4a7f44f4ddb41da15d806a00c644c5762e46a62af10734aa7aea07fa9
|
|
| MD5 |
0afa298b10771e89b0ba0ef34c2b2fc3
|
|
| BLAKE2b-256 |
9a4e959cb8a76046840534fbedd8fdcf9491907fbb411a84c95b7067b2bb0975
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 357.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d97304cc05ca4b1f88412cbf7e947c3c5d9fe163f71c1292563295d2dc9eb16c
|
|
| MD5 |
8ac7c99cae8a00c3a5f53ed3c5fb925c
|
|
| BLAKE2b-256 |
6d4ab93e32ed97342d2ce0ee411a16e607fdd03312469012f04262bf539f6531
|
File details
Details for the file log_surgeon_ffi-0.1.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: log_surgeon_ffi-0.1.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.32.5 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fe159ce596816023d96836dd052e593b00af2a80a41f5eee575959b5e1a79a9
|
|
| MD5 |
acfe965621e06fabe66d1f85697b0f44
|
|
| BLAKE2b-256 |
b73b6b2c2ebccc6b39b9af0fc47d3c707b8f240292077e297acb428e933cd352
|