Python interface for the Manta Dota 2 replay parser
Project description
Python Manta
Python bindings for the dotabuff/manta Dota 2 replay parser
What This Library Does
Python Manta is a wrapper/bindings library that provides Python access to the excellent Manta Go library for parsing Dota 2 replay files (.dem).
Important Attribution
All the heavy lifting is done by dotabuff/manta - the battle-tested Go replay parser maintained by Dotabuff. This Python library simply:
- Wraps the Manta Go library using CGO
- Exposes a Pythonic API via ctypes
- Provides type-safe Pydantic models for parsed data
If you're working in Go, use Manta directly. This library exists for Python developers who need replay parsing capabilities.
Table of Contents
- Documentation ← Full docs with examples
- Versioning
- Installation
- Quick Start
- API Reference
- Game Events
- Modifiers
- Entity Queries
- String Tables
- Combat Log
- Parser Info
- Supported Callbacks (272 Total)
- Data Models
- Common Use Cases
- Development Setup
- Architecture
- AI Integration Guide
- Troubleshooting
- Contributing
- License
Versioning
Python Manta follows a 4-part versioning scheme that tracks the upstream dotabuff/manta version:
v{manta_major}.{manta_minor}.{manta_patch}.{python_manta_release}
| Version Part | Meaning |
|---|---|
1.4.5 |
Base dotabuff/manta version this release is built on |
.1, .2, etc. |
Python Manta release number for that manta version |
Examples:
v1.4.5- Initial release based on manta v1.4.5v1.4.5.1- First update/bugfix release, still using manta v1.4.5v1.4.5.2- Second update, still using manta v1.4.5v1.4.6- New release when manta updates to v1.4.6
This scheme allows us to release updates (new features, bugfixes, documentation) without waiting for upstream manta releases (which happen ~twice per year).
Installation
From PyPI (Recommended)
pip install python-manta
Pre-built wheels are available for:
- Linux (x86_64)
- macOS (Intel and Apple Silicon)
- Windows (AMD64)
No Go installation required - wheels include pre-compiled binaries.
From Source
See Building from Source section below.
Quick Start
Parse Demo Header
from python_manta import parse_demo_header
# Parse header metadata
header = parse_demo_header("match.dem")
print(f"Map: {header.map_name}")
print(f"Server: {header.server_name}")
print(f"Build: {header.build_num}")
print(f"Network Protocol: {header.network_protocol}")
Parse Specific Messages
from python_manta import MantaParser
# Initialize parser
parser = MantaParser()
# Extract chat messages (limit to 100)
result = parser.parse_universal("match.dem", "CDOTAUserMsg_ChatMessage", 100)
if result.success:
for msg in result.messages:
print(f"[Tick {msg.tick}] Player {msg.data['source_player_id']}: {msg.data['message_text']}")
Parse Draft (Picks & Bans)
from python_manta import parse_demo_draft
# Get draft information
draft = parse_demo_draft("match.dem")
for pick_ban in draft.picks_bans:
action = "PICK" if pick_ban.is_pick else "BAN"
team = "Radiant" if pick_ban.team == 2 else "Dire"
print(f"{team} {action}: Hero ID {pick_ban.hero_id}")
API Reference
MantaParser Class
The main class for parsing Dota 2 replay files.
class MantaParser:
def __init__(self, library_path: Optional[str] = None)
# Basic parsing
def parse_header(self, demo_file_path: str) -> HeaderInfo
def parse_draft(self, demo_file_path: str) -> CDotaGameInfo
def parse_universal(self, demo_file_path: str, message_filter: str = "", max_messages: int = 0) -> UniversalParseResult
# Advanced features
def parse_game_events(self, demo_file_path: str, ...) -> GameEventsResult
def parse_modifiers(self, demo_file_path: str, ...) -> ModifiersResult
def query_entities(self, demo_file_path: str, ...) -> EntitiesResult
def get_string_tables(self, demo_file_path: str, ...) -> StringTablesResult
def parse_combat_log(self, demo_file_path: str, ...) -> CombatLogResult
def get_parser_info(self, demo_file_path: str) -> ParserInfo
Constructor
parser = MantaParser() # Uses bundled library
parser = MantaParser("/path/to/libmanta_wrapper.so") # Custom library path
parse_header(demo_file_path: str) -> HeaderInfo
Parses the demo file header containing match metadata.
Parameters:
demo_file_path: Path to the.demreplay file
Returns: HeaderInfo with match metadata
Raises:
FileNotFoundError: If demo file doesn't existValueError: If parsing fails
parse_draft(demo_file_path: str) -> CDotaGameInfo
Extracts draft phase information (picks and bans).
Parameters:
demo_file_path: Path to the.demreplay file
Returns: CDotaGameInfo with picks/bans list
parse_universal(demo_file_path: str, message_filter: str = "", max_messages: int = 0) -> UniversalParseResult
Universal parser for any Manta callback/message type.
Parameters:
demo_file_path: Path to the.demreplay filemessage_filter: Callback name filter (e.g.,"CDOTAUserMsg_ChatMessage")max_messages: Maximum messages to return (0 = unlimited)
Returns: UniversalParseResult with matched messages
Convenience Functions
# Quick header parsing
header = parse_demo_header("match.dem")
# Quick draft parsing
draft = parse_demo_draft("match.dem")
# Quick universal parsing
result = parse_demo_universal("match.dem", "CDOTAUserMsg_ChatMessage", 50)
Game Events
Parse Source 1 legacy game events with typed field access:
from python_manta import MantaParser
parser = MantaParser()
# Get all event type definitions
result = parser.parse_game_events("match.dem", max_events=0, capture_types=True)
print(f"Found {len(result.event_types)} event types")
# Parse specific events
result = parser.parse_game_events("match.dem", event_filter="dota_combatlog", max_events=100)
for event in result.events:
print(f"[{event.tick}] {event.name}: {event.fields}")
Modifiers
Track buffs, debuffs, and auras on units:
parser = MantaParser()
# Get all modifiers
result = parser.parse_modifiers("match.dem", max_modifiers=100)
for mod in result.modifiers:
print(f"[{mod.tick}] {mod.name} on entity {mod.parent}, duration={mod.duration}, stacks={mod.stack_count}")
# Filter for auras only
result = parser.parse_modifiers("match.dem", max_modifiers=100, auras_only=True)
Entity Queries
Query entities by class name and extract properties:
parser = MantaParser()
# Query hero entities
result = parser.query_entities("match.dem", class_filter="Hero", max_entities=10)
for entity in result.entities:
print(f"{entity.class_name} (index={entity.index})")
print(f" Health: {entity.properties.get('m_iHealth')}")
# Query specific properties only
result = parser.query_entities(
"match.dem",
class_filter="Hero",
property_filter=["m_iHealth", "m_iMaxHealth", "m_vecOrigin"],
max_entities=10
)
# Query by exact class names
result = parser.query_entities(
"match.dem",
class_names=["CDOTA_Unit_Hero_Invoker", "CDOTA_Unit_Hero_Pudge"],
max_entities=20
)
String Tables
Extract string tables (userinfo, instancebaseline, etc.):
parser = MantaParser()
# Get all string tables
result = parser.get_string_tables("match.dem")
print(f"Tables: {result.table_names}")
# Get specific table
result = parser.get_string_tables("match.dem", table_names=["userinfo"], max_entries=50)
for entry in result.entries:
print(f"[{entry.table}] {entry.key}: {entry.value[:50]}...")
Combat Log
Parse combat log with filtering and typed entries:
parser = MantaParser()
# Get all combat log entries
result = parser.parse_combat_log("match.dem", max_entries=100)
for entry in result.entries:
print(f"[{entry.timestamp:.1f}s] {entry.type_name}: {entry.attacker_name} -> {entry.target_name}")
# Filter by type (0=DAMAGE, 1=HEAL, 2=MODIFIER_ADD, etc.)
result = parser.parse_combat_log("match.dem", types=[0], max_entries=100) # Damage only
# Filter for hero-related entries
result = parser.parse_combat_log("match.dem", heroes_only=True, max_entries=100)
Parser Info
Get parser metadata and state:
parser = MantaParser()
info = parser.get_parser_info("match.dem")
print(f"Final tick: {info.tick}")
print(f"Entity count: {info.entity_count}")
print(f"String tables: {info.string_tables}")
Supported Callbacks (272 Total)
Python Manta implements all 272 Manta callbacks. Use these exact names with parse_universal().
Communication & Chat
| Callback Name | Description |
|---|---|
CDOTAUserMsg_ChatMessage |
Player text chat messages |
CDOTAUserMsg_ChatEvent |
System chat events (kills, items, etc.) |
CDOTAUserMsg_ChatWheel |
Chat wheel phrases |
CDOTAUserMsg_BotChat |
Bot chat messages |
CUserMessageSayText |
Generic say text |
CUserMessageSayText2 |
Extended say text |
Map & Location
| Callback Name | Description |
|---|---|
CDOTAUserMsg_LocationPing |
Map ping locations |
CDOTAUserMsg_MapLine |
Map drawing/lines |
CDOTAUserMsg_WorldLine |
World-space lines |
CDOTAUserMsg_MinimapEvent |
Minimap events |
CDOTAUserMsg_Ping |
Generic pings |
CDOTAUserMsg_CoachHUDPing |
Coach pings |
Game State & Events
| Callback Name | Description |
|---|---|
CDemoFileHeader |
Demo file metadata |
CDemoFileInfo |
Extended demo info (draft, players) |
CDOTAUserMsg_GamerulesStateChanged |
Game state transitions |
CDOTAUserMsg_OverheadEvent |
Damage numbers, XP, gold |
CDOTAUserMsg_UnitEvent |
Unit actions and abilities |
CMsgDOTACombatLogEntry |
Combat log entries |
Draft & Hero Selection
| Callback Name | Description |
|---|---|
CDOTAUserMsg_PlayerDraftPick |
Player draft picks |
CDOTAUserMsg_PlayerDraftSuggestPick |
Draft suggestions |
CDOTAUserMsg_SuggestHeroPick |
Hero suggestions |
CDOTAUserMsg_SuggestHeroRole |
Role suggestions |
Items & Economy
| Callback Name | Description |
|---|---|
CDOTAUserMsg_ItemPurchased |
Item purchases |
CDOTAUserMsg_ItemSold |
Item sales |
CDOTAUserMsg_ItemAlert |
Item alerts |
CDOTAUserMsg_ItemFound |
Found items |
CDOTAUserMsg_FoundNeutralItem |
Neutral item drops |
CDOTAUserMsg_QuickBuyAlert |
Quick buy alerts |
Combat & Abilities
| Callback Name | Description |
|---|---|
CDOTAUserMsg_AbilityPing |
Ability pings |
CDOTAUserMsg_AbilitySteal |
Rubick spell steal |
CDOTAUserMsg_DamageReport |
Damage reports |
CDOTAUserMsg_TE_Projectile |
Projectile events |
CDOTAUserMsg_CreateLinearProjectile |
Linear projectiles |
Network & Technical
| Callback Name | Description |
|---|---|
CNETMsg_Tick |
Network tick synchronization |
CNETMsg_SetConVar |
Console variable changes |
CNETMsg_SignonState |
Connection state changes |
CSVCMsg_ServerInfo |
Server configuration |
CSVCMsg_PacketEntities |
Entity updates |
Demo Control
| Callback Name | Description |
|---|---|
CDemoPacket |
Demo packets |
CDemoStop |
Demo end marker |
CDemoSyncTick |
Sync tick markers |
CDemoStringTables |
String table data |
CDemoClassInfo |
Class information |
Full Callback List by Category
Demo Messages (15 callbacks)
CDemoAnimationDataCDemoAnimationHeaderCDemoClassInfoCDemoConsoleCmdCDemoCustomDataCDemoCustomDataCallbacksCDemoFileHeaderCDemoFileInfoCDemoFullPacketCDemoPacketCDemoRecoveryCDemoSaveGameCDemoSendTablesCDemoSpawnGroupsCDemoStopCDemoStringTablesCDemoSyncTickCDemoUserCmd
Network Messages (15 callbacks)
CNETMsg_DebugOverlayCNETMsg_NOPCNETMsg_SetConVarCNETMsg_SignonStateCNETMsg_SpawnGroup_LoadCNETMsg_SpawnGroup_LoadCompletedCNETMsg_SpawnGroup_ManifestUpdateCNETMsg_SpawnGroup_SetCreationTickCNETMsg_SpawnGroup_UnloadCNETMsg_SplitScreenUserCNETMsg_StringCmdCNETMsg_Tick
SVC Messages (25 callbacks)
CSVCMsg_BSPDecalCSVCMsg_Broadcast_CommandCSVCMsg_ClassInfoCSVCMsg_ClearAllStringTablesCSVCMsg_CmdKeyValuesCSVCMsg_CreateStringTableCSVCMsg_FlattenedSerializerCSVCMsg_FullFrameSplitCSVCMsg_GetCvarValueCSVCMsg_HLTVStatusCSVCMsg_HltvFixupOperatorStatusCSVCMsg_MenuCSVCMsg_PacketEntitiesCSVCMsg_PacketReliableCSVCMsg_PeerListCSVCMsg_PrefetchCSVCMsg_PrintCSVCMsg_RconServerDetailsCSVCMsg_ServerInfoCSVCMsg_ServerSteamIDCSVCMsg_SetPauseCSVCMsg_SetViewCSVCMsg_SoundsCSVCMsg_SplitScreenCSVCMsg_StopSoundCSVCMsg_UpdateStringTableCSVCMsg_UserMessageCSVCMsg_VoiceDataCSVCMsg_VoiceInit
User Messages (35 callbacks)
CUserMessageAchievementEventCUserMessageAmmoDeniedCUserMessageAudioParameterCUserMessageCameraTransitionCUserMessageCloseCaptionCUserMessageCloseCaptionDirectCUserMessageCloseCaptionPlaceholderCUserMessageColoredTextCUserMessageCreditsMsgCUserMessageCurrentTimescaleCUserMessageDesiredTimescaleCUserMessageFadeCUserMessageGameTitleCUserMessageHapticsManagerEffectCUserMessageHapticsManagerPulseCUserMessageHudMsgCUserMessageHudTextCUserMessageItemPickupCUserMessageLagCompensationErrorCUserMessageRequestDiagnosticCUserMessageRequestDllStatusCUserMessageRequestInventoryCUserMessageRequestStateCUserMessageRequestUtilActionCUserMessageResetHUDCUserMessageRumbleCUserMessageSayTextCUserMessageSayText2CUserMessageSayTextChannelCUserMessageSendAudioCUserMessageServerFrameTimeCUserMessageShakeCUserMessageShakeDirCUserMessageShowMenuCUserMessageTextMsgCUserMessageScreenTiltCUserMessageUpdateCssClassesCUserMessageVoiceMaskCUserMessageWaterShake
DOTA User Messages (140+ callbacks)
CDOTAUserMsg_AbilityDraftRequestAbilityCDOTAUserMsg_AbilityPingCDOTAUserMsg_AbilityStealCDOTAUserMsg_AddQuestLogEntryCDOTAUserMsg_AghsStatusAlertCDOTAUserMsg_AIDebugLineCDOTAUserMsg_AllStarEventCDOTAUserMsg_BeastChatCDOTAUserMsg_BoosterStateCDOTAUserMsg_BotChatCDOTAUserMsg_BuyBackStateAlertCDOTAUserMsg_ChatEventCDOTAUserMsg_ChatMessageCDOTAUserMsg_ChatWheelCDOTAUserMsg_ChatWheelCooldownCDOTAUserMsg_ClientLoadGridNavCDOTAUserMsg_CoachHUDPingCDOTAUserMsg_CombatHeroPositionsCDOTAUserMsg_CombatLogBulkDataCDOTAUserMsg_CompendiumStateCDOTAUserMsg_ContextualTipCDOTAUserMsg_CourierKilledAlertCDOTAUserMsg_CreateLinearProjectileCDOTAUserMsg_CustomHeaderMessageCDOTAUserMsg_CustomHudElement_CreateCDOTAUserMsg_CustomHudElement_DestroyCDOTAUserMsg_CustomHudElement_ModifyCDOTAUserMsg_CustomMsgCDOTAUserMsg_DamageReportCDOTAUserMsg_DebugChallengeCDOTAUserMsg_DestroyLinearProjectileCDOTAUserMsg_DismissAllStatPopupsCDOTAUserMsg_DodgeTrackingProjectilesCDOTAUserMsg_DuelAcceptedCDOTAUserMsg_DuelOpponentKilledCDOTAUserMsg_DuelRequestedCDOTAUserMsg_EmptyItemSlotAlertCDOTAUserMsg_EmptyTeleportAlertCDOTAUserMsg_EnemyItemAlertCDOTAUserMsg_ESArcanaComboCDOTAUserMsg_ESArcanaComboSummaryCDOTAUserMsg_FacetPingCDOTAUserMsg_FlipCoinResultCDOTAUserMsg_FoundNeutralItemCDOTAUserMsg_GamerulesStateChangedCDOTAUserMsg_GiftPlayerCDOTAUserMsg_GlobalLightColorCDOTAUserMsg_GlobalLightDirectionCDOTAUserMsg_GlyphAlertCDOTAUserMsg_GuildChallenge_ProgressCDOTAUserMsg_HalloweenDropsCDOTAUserMsg_HeroRelicProgressCDOTAUserMsg_HighFiveCompletedCDOTAUserMsg_HighFiveLeftHangingCDOTAUserMsg_HotPotato_CreatedCDOTAUserMsg_HotPotato_ExplodedCDOTAUserMsg_HPManaAlertCDOTAUserMsg_HudErrorCDOTAUserMsg_InnatePingCDOTAUserMsg_InvalidCommandCDOTAUserMsg_ItemAlertCDOTAUserMsg_ItemFoundCDOTAUserMsg_ItemPurchasedCDOTAUserMsg_ItemSoldCDOTAUserMsg_KillcamDamageTakenCDOTAUserMsg_LocationPingCDOTAUserMsg_MadstoneAlertCDOTAUserMsg_MapLineCDOTAUserMsg_MarsArenaOfBloodAttackCDOTAUserMsg_MinimapDebugPointCDOTAUserMsg_MinimapEventCDOTAUserMsg_MiniKillCamInfoCDOTAUserMsg_MiniTauntCDOTAUserMsg_ModifierAlertCDOTAUserMsg_MoveCameraToUnitCDOTAUserMsg_MuertaReleaseEvent_AssignedTargetKilledCDOTAUserMsg_MutedPlayersCDOTAUserMsg_NeutralCampAlertCDOTAUserMsg_NeutralCraftAvailableCDOTAUserMsg_NevermoreRequiemCDOTAUserMsg_OMArcanaComboCDOTAUserMsg_OutpostCapturedCDOTAUserMsg_OutpostGrantedXPCDOTAUserMsg_OverheadEventCDOTAUserMsg_PauseMinigameDataCDOTAUserMsg_PingCDOTAUserMsg_PingConfirmationCDOTAUserMsg_PlayerDraftPickCDOTAUserMsg_PlayerDraftSuggestPickCDOTAUserMsg_ProjectionAbilityCDOTAUserMsg_ProjectionEventCDOTAUserMsg_QoP_ArcanaSummaryCDOTAUserMsg_QuestStatusCDOTAUserMsg_QueuedOrderRemovedCDOTAUserMsg_QuickBuyAlertCDOTAUserMsg_RadarAlertCDOTAUserMsg_ReceivedXmasGiftCDOTAUserMsg_ReplaceQueryUnitCDOTAUserMsg_RockPaperScissorsFinishedCDOTAUserMsg_RockPaperScissorsStartedCDOTAUserMsg_RollDiceResultCDOTAUserMsg_RoshanTimerCDOTAUserMsg_SalutePlayerCDOTAUserMsg_SelectPenaltyGoldCDOTAUserMsg_SendFinalGoldCDOTAUserMsg_SendGenericToolTipCDOTAUserMsg_SendRoshanPopupCDOTAUserMsg_SendRoshanSpectatorPhaseCDOTAUserMsg_SendStatPopupCDOTAUserMsg_SetNextAutobuyItemCDOTAUserMsg_SharedCooldownCDOTAUserMsg_ShovelUnearthCDOTAUserMsg_ShowGenericPopupCDOTAUserMsg_ShowSurveyCDOTAUserMsg_SpectatorPlayerClickCDOTAUserMsg_SpectatorPlayerUnitOrdersCDOTAUserMsg_SpeechBubbleCDOTAUserMsg_StatsHeroMinuteDetailsCDOTAUserMsg_StatsMatchDetailsCDOTAUserMsg_SuggestHeroPickCDOTAUserMsg_SuggestHeroRoleCDOTAUserMsg_SwapVerifyCDOTAUserMsg_TalentTreeAlertCDOTAUserMsg_TE_DestroyProjectileCDOTAUserMsg_TE_DotaBloodImpactCDOTAUserMsg_TE_ProjectileCDOTAUserMsg_TE_ProjectileLocCDOTAUserMsg_TE_UnitAnimationCDOTAUserMsg_TE_UnitAnimationEndCDOTAUserMsg_TimerAlertCDOTAUserMsg_TipAlertCDOTAUserMsg_TutorialFadeCDOTAUserMsg_TutorialFinishCDOTAUserMsg_TutorialMinimapPositionCDOTAUserMsg_TutorialPingMinimapCDOTAUserMsg_TutorialRequestExpCDOTAUserMsg_TutorialTipInfoCDOTAUserMsg_UnitEventCDOTAUserMsg_UpdateLinearProjectileCPDataCDOTAUserMsg_UpdateQuestProgressCDOTAUserMsg_UpdateSharedContentCDOTAUserMsg_VersusScene_PlayerBehaviorCDOTAUserMsg_VoteEndCDOTAUserMsg_VoteStartCDOTAUserMsg_VoteUpdateCDOTAUserMsg_WillPurchaseAlertCDOTAUserMsg_WK_Arcana_ProgressCDOTAUserMsg_WorldLineCDOTAUserMsg_WRArcanaProgressCDOTAUserMsg_WRArcanaSummaryCDOTAUserMsg_XPAlert
Entity Messages (6 callbacks)
CEntityMessageDoSparkCEntityMessageFixAngleCEntityMessagePlayJingleCEntityMessagePropagateForceCEntityMessageRemoveAllDecalsCEntityMessageScreenOverlay
Miscellaneous Messages (15 callbacks)
CMsgClearDecalsForSkeletonInstanceEventCMsgClearEntityDecalsEventCMsgClearWorldDecalsEventCMsgDOTACombatLogEntryCMsgGCToClientTournamentItemDropCMsgPlaceDecalEventCMsgSosSetLibraryStackFieldsCMsgSosSetSoundEventParamsCMsgSosStartSoundEventCMsgSosStopSoundEventCMsgSosStopSoundEventHashCMsgSource1LegacyGameEventCMsgSource1LegacyGameEventListCMsgSource1LegacyListenEventsCMsgVDebugGameSessionIDEventCDOTAMatchMetadataFile
Data Models
All models use Pydantic for validation and serialization.
HeaderInfo
class HeaderInfo(BaseModel):
map_name: str # Map name (e.g., "dota")
server_name: str # Server identifier
client_name: str # Client type
game_directory: str # Game directory path
network_protocol: int # Network protocol version
demo_file_stamp: str # Demo file signature
build_num: int # Game build number
game: str # Game identifier
server_start_tick: int # Server start tick
success: bool # Parse success flag
error: Optional[str] # Error message if failed
CHeroSelectEvent
class CHeroSelectEvent(BaseModel):
is_pick: bool # True for pick, False for ban
team: int # 2 = Radiant, 3 = Dire
hero_id: int # Hero ID (see Dota 2 Wiki for mappings)
CDotaGameInfo
class CDotaGameInfo(BaseModel):
picks_bans: List[CHeroSelectEvent] # Draft sequence
success: bool
error: Optional[str]
MessageEvent
class MessageEvent(BaseModel):
type: str # Callback name
tick: int # Game tick
net_tick: int # Network tick
data: Any # Message-specific data (dict)
timestamp: Optional[int] # Unix timestamp (ms)
UniversalParseResult
class UniversalParseResult(BaseModel):
messages: List[MessageEvent] # Matched messages
success: bool # Parse success flag
error: Optional[str] # Error message
count: int # Number of messages
GameEventData
class GameEventData(BaseModel):
name: str # Event name (e.g., "dota_combatlog")
tick: int # Game tick
net_tick: int # Network tick
fields: Dict[str, Any] # Event-specific fields
ModifierEntry
class ModifierEntry(BaseModel):
tick: int # Game tick
name: str # Modifier name
parent: int # Parent entity handle
duration: float # Duration in seconds (-1 = permanent)
stack_count: int # Number of stacks
is_aura: bool # Whether this is an aura
EntityData
class EntityData(BaseModel):
index: int # Entity index
class_name: str # Entity class name
properties: Dict[str, Any] # Entity properties
CombatLogEntry
class CombatLogEntry(BaseModel):
tick: int # Game tick
type: int # Combat log type ID
type_name: str # Human-readable type name
attacker_name: str # Attacker name
target_name: str # Target name
value: int # Damage/heal value
timestamp: float # Game time in seconds
is_attacker_hero: bool # Whether attacker is a hero
is_target_hero: bool # Whether target is a hero
ParserInfo
class ParserInfo(BaseModel):
tick: int # Final parser tick
net_tick: int # Final network tick
entity_count: int # Number of entities
string_tables: List[str] # List of string table names
success: bool # Parse success flag
Common Use Cases
Extract All Chat Messages
from python_manta import MantaParser
parser = MantaParser()
result = parser.parse_universal("match.dem", "CDOTAUserMsg_ChatMessage", 0)
for msg in result.messages:
player_id = msg.data.get('source_player_id', 'Unknown')
text = msg.data.get('message_text', '')
print(f"Player {player_id}: {text}")
Track Item Purchases
from python_manta import MantaParser
parser = MantaParser()
result = parser.parse_universal("match.dem", "CDOTAUserMsg_ItemPurchased", 0)
for msg in result.messages:
player_id = msg.data.get('player_id')
item_id = msg.data.get('item_ability_id')
tick = msg.tick
print(f"[{tick}] Player {player_id} purchased item {item_id}")
Analyze Location Pings
from python_manta import MantaParser
parser = MantaParser()
result = parser.parse_universal("match.dem", "CDOTAUserMsg_LocationPing", 0)
for msg in result.messages:
ping_data = msg.data.get('location_ping', {})
x = ping_data.get('x', 0)
y = ping_data.get('y', 0)
player_id = msg.data.get('player_id')
print(f"Player {player_id} pinged at ({x}, {y})")
Extract Combat Log
from python_manta import MantaParser
parser = MantaParser()
result = parser.parse_universal("match.dem", "CMsgDOTACombatLogEntry", 1000)
for msg in result.messages:
entry = msg.data
# Combat log entries contain damage, healing, XP, gold, etc.
print(f"[{msg.tick}] Combat event: {entry}")
Get Match Statistics
from python_manta import MantaParser
parser = MantaParser()
# Get stats details
result = parser.parse_universal("match.dem", "CDOTAUserMsg_StatsMatchDetails", 10)
if result.success and result.messages:
stats = result.messages[0].data
print(f"Match stats: {stats}")
Multiple Message Types
from python_manta import MantaParser
parser = MantaParser()
# Parse multiple message types
message_types = [
("CDOTAUserMsg_ChatMessage", 100),
("CDOTAUserMsg_LocationPing", 50),
("CDOTAUserMsg_ItemPurchased", 200),
]
for msg_type, limit in message_types:
result = parser.parse_universal("match.dem", msg_type, limit)
print(f"{msg_type}: {result.count} messages")
Development Setup
When you clone this repository, the shared library (.so/.dylib/.dll) is not included. You have two options:
Option 1: Download Pre-built Library (Recommended)
git clone https://github.com/DeepBlueCoding/python-manta.git
cd python-manta
python scripts/download_library.py
pip install -e '.[dev]'
Option 2: Build from Source
Requires Go 1.19+ installed.
git clone https://github.com/DeepBlueCoding/python-manta.git
cd python-manta
git clone https://github.com/dotabuff/manta.git ../manta
./build.sh
pip install -e '.[dev]'
Verify Installation
python -c "from python_manta import MantaParser; print('Success!')"
Running Tests
# Unit tests only
python run_tests.py --unit
# Integration tests (requires .dem files)
python run_tests.py --integration
# All tests with coverage
python run_tests.py --all --coverage
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Python Application │
├─────────────────────────────────────────────────────────────┤
│ python_manta Package │
│ ├── MantaParser (main interface) │
│ ├── Pydantic Models (type-safe data structures) │
│ └── ctypes bindings (FFI to shared library) │
├─────────────────────────────────────────────────────────────┤
│ libmanta_wrapper.so (CGO Shared Library) │
│ ├── CGO exports (ParseHeader, ParseDraft, ParseUniversal) │
│ ├── 272 callback implementations │
│ └── JSON serialization │
├─────────────────────────────────────────────────────────────┤
│ dotabuff/manta (Go Library) │
│ ├── PBDEMS2 format parser │
│ ├── Protobuf message decoding │
│ └── Callback system │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────┐
│ .dem Replay │
│ File │
└─────────────────┘
Data Flow
- Python calls
parse_universal()with demo path and filter - ctypes marshals parameters to C strings
- CGO wrapper receives call, opens file
- Manta Go library parses the binary .dem file
- Registered callbacks capture matching messages
- Messages serialized to JSON
- JSON returned to Python via ctypes
- Pydantic models validate and structure the data
AI Integration Guide
This section helps AI systems (LLMs, agents, coding assistants) understand and use this library effectively.
Quick Reference
from python_manta import MantaParser
parser = MantaParser()
# Basic parsing
header = parser.parse_header("match.dem") # Match metadata
draft = parser.parse_draft("match.dem") # Picks and bans
result = parser.parse_universal("match.dem", "CDOTAUserMsg_ChatMessage", 100)
# Advanced features
events = parser.parse_game_events("match.dem", event_filter="dota_combatlog", max_events=100)
modifiers = parser.parse_modifiers("match.dem", max_modifiers=100)
entities = parser.query_entities("match.dem", class_filter="Hero", max_entities=10)
combat = parser.parse_combat_log("match.dem", heroes_only=True, max_entries=100)
info = parser.get_parser_info("match.dem")
Which API to Use
| Task | Method | Notes |
|---|---|---|
| Match metadata | parse_header() |
Build number, map, server |
| Draft sequence | parse_draft() |
Picks/bans with hero IDs |
| Chat messages | parse_universal("CDOTAUserMsg_ChatMessage") |
Player text chat |
| Item purchases | parse_universal("CDOTAUserMsg_ItemPurchased") |
Item buy events |
| Map pings | parse_universal("CDOTAUserMsg_LocationPing") |
Ping coordinates |
| Combat damage | parse_combat_log(types=[0]) |
Structured damage events |
| Hero kills | parse_combat_log(heroes_only=True) |
Hero-related combat |
| Buff tracking | parse_modifiers() |
Active buffs/debuffs |
| Hero positions | query_entities(class_filter="Hero") |
Entity state at end of replay |
| Game events | parse_game_events() |
364 named event types |
| Player info | get_string_tables(table_names=["userinfo"]) |
Steam IDs, names |
Common Patterns
Extract hero stats at end of game:
result = parser.query_entities("match.dem", class_filter="Hero", max_entities=10)
for hero in result.entities:
health = hero.properties.get("m_iHealth", 0)
max_health = hero.properties.get("m_iMaxHealth", 0)
print(f"{hero.class_name}: {health}/{max_health} HP")
Track all damage to heroes:
result = parser.parse_combat_log("match.dem", types=[0], heroes_only=True, max_entries=1000)
for entry in result.entries:
print(f"{entry.attacker_name} hit {entry.target_name} for {entry.value} damage")
Find specific game events:
result = parser.parse_game_events("match.dem", event_filter="dota_player_kill", max_events=100)
for event in result.events:
print(f"Kill at tick {event.tick}: {event.fields}")
Key Constraints
- Callback names are case-sensitive - Use exact names from the callback list
- Message filter uses substring matching -
"Chat"matchesCDOTAUserMsg_ChatMessageandCDOTAUserMsg_ChatEvent - Always set
max_*limits - Prevents memory issues with large replays - Entity queries return end-of-replay state - For time-series data, use combat log or game events
- Combat log only starts after ~12-17 minutes - HLTV broadcast delay; use entity snapshots for early game
Troubleshooting
Library Not Found
FileNotFoundError: Shared library not found
Solution: Install from PyPI (pip install python-manta) or build from source with ./build.sh.
Demo File Not Found
FileNotFoundError: Demo file not found: match.dem
Solution: Provide absolute path or verify the file exists.
Parsing Returns Empty Results
- Check the callback name is exact (case-sensitive)
- The message type may not exist in that replay
- Try without a filter to see all messages:
parser.parse_universal("match.dem", "", 100)
Memory Issues with Large Replays
Solution: Always set max_messages to a reasonable limit:
# Good - limits memory usage
result = parser.parse_universal("match.dem", "CNETMsg_Tick", 1000)
# Bad - could consume gigabytes of RAM
result = parser.parse_universal("match.dem", "CNETMsg_Tick", 0)
Platform-Specific Issues
macOS Apple Silicon:
- Ensure you have the ARM64 wheel or build from source on ARM
Windows:
- The library file is
libmanta_wrapper.dll - Ensure Visual C++ redistributables are installed
Linux:
- The library file is
libmanta_wrapper.so - Ensure
glibcversion compatibility
Project Links
- GitHub: https://github.com/DeepBlueCoding/python-manta
- Documentation: https://deepbluecoding.github.io/python-manta/
- PyPI: https://pypi.org/project/python-manta/
- Original Manta (Go): https://github.com/dotabuff/manta
- Dotabuff: https://www.dotabuff.com
Related Projects
- clarity - Java Dota 2 replay parser
- demoinfo-go - CS:GO demo parser in Go
- Yasha - Source 1 Dota 2 parser (archived)
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
python run_tests.py --all - Submit a pull request
License
MIT License - see LICENSE file.
Acknowledgments
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 python_manta-1.4.5.1.dev1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 8.4 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7994fbc5ac4b56046b4c24a474d7411317ecad9ee0ed36db825240159a4e604
|
|
| MD5 |
4005c50a0faf73a67eadb008cbdd850d
|
|
| BLAKE2b-256 |
27e5e360481e929914017b705bec6589bc864a859f8c9e66d8821e82497af539
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp312-cp312-win_amd64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp312-cp312-win_amd64.whl -
Subject digest:
f7994fbc5ac4b56046b4c24a474d7411317ecad9ee0ed36db825240159a4e604 - Sigstore transparency entry: 732593734
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 8.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2abdd066d2d08a2e0d2203ffeec326ef378f39be1cef583b4f1c60adf21df98
|
|
| MD5 |
9a390ce18d3cb70cc566d38ead614c98
|
|
| BLAKE2b-256 |
54df3744c468f09b558cc2b25c6b9959c2c67c92e6c1030fff5737be63f3dfc9
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl -
Subject digest:
e2abdd066d2d08a2e0d2203ffeec326ef378f39be1cef583b4f1c60adf21df98 - Sigstore transparency entry: 732593763
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41bc6e0f57925ba662a4bdb764c9a136f7627499ccc8c1fc95f7c14964fdc97f
|
|
| MD5 |
b538be35d7890833f06904b3d854160c
|
|
| BLAKE2b-256 |
9fe2919d29965ec2e0e6b79e794dc63570c2769ffc89a179a9b3c74862976ff5
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
41bc6e0f57925ba662a4bdb764c9a136f7627499ccc8c1fc95f7c14964fdc97f - Sigstore transparency entry: 732593722
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f83e5f6b49fb203c3886d857bb76d06a36bf07cfbbb00ca0c009ab3e66ab3b14
|
|
| MD5 |
2e1dc19dadf23022fb1fabd7a01cb4c1
|
|
| BLAKE2b-256 |
7d6be2597d95123d08e2aabf0ee42da084bf5693a91ba5a9a4af820c77c1b9e4
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
f83e5f6b49fb203c3886d857bb76d06a36bf07cfbbb00ca0c009ab3e66ab3b14 - Sigstore transparency entry: 732593701
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 8.4 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
795dff800e35760c0bf1574f0b711255de99e5fa4b55a3d33b47a36a61ab9ef3
|
|
| MD5 |
fa7f623ae05533898523e199a3bb5ff5
|
|
| BLAKE2b-256 |
41a38d999a26c3ee0b2e645a9de14478635ae2cdcda0a71c97d11511ea45256d
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp311-cp311-win_amd64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp311-cp311-win_amd64.whl -
Subject digest:
795dff800e35760c0bf1574f0b711255de99e5fa4b55a3d33b47a36a61ab9ef3 - Sigstore transparency entry: 732593694
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 8.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1e867e792525198de0b348e3f623c8933ed0c70c5ebe1fc6c93d95844e438bf
|
|
| MD5 |
7d6f5c0bdc2c555c1302e1ff600d3394
|
|
| BLAKE2b-256 |
1c937adc66432481fb7029ca5799c9b26adfca9821e4082cd7e1b757ec3593f5
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl -
Subject digest:
e1e867e792525198de0b348e3f623c8933ed0c70c5ebe1fc6c93d95844e438bf - Sigstore transparency entry: 732593709
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fa69ad9c8a38c0a1e9e3acf93cf79dc8b39a1e36a2b2a619a541ad108b1f1e6
|
|
| MD5 |
188834b4aa0aaad1c7864ea535502b73
|
|
| BLAKE2b-256 |
41da29e544404a91c14492c4c83714e6af7d751525b7e483627f566996ce89e0
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
1fa69ad9c8a38c0a1e9e3acf93cf79dc8b39a1e36a2b2a619a541ad108b1f1e6 - Sigstore transparency entry: 732593680
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
510054e067569db3d68b40696d0faf6638c15e015046620f4340482e5c9fd054
|
|
| MD5 |
ef6e7f1e0a797ba96b79206c97098e25
|
|
| BLAKE2b-256 |
89cafc286abdee71b7259a57f06e5244716f1fb3886e9373f4f98e3c1dd21be6
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp311-cp311-macosx_10_9_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp311-cp311-macosx_10_9_x86_64.whl -
Subject digest:
510054e067569db3d68b40696d0faf6638c15e015046620f4340482e5c9fd054 - Sigstore transparency entry: 732593741
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 8.4 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ace817293a9e436a49cbbad2e04ccd083fabd25de65837a53d98d48f053a6543
|
|
| MD5 |
4f2eeeddc77048ce09439569ec6ce68c
|
|
| BLAKE2b-256 |
a32a71b8ea43b0c46790ecb2777ac7d995977a910de5faae360e0c5c483f9273
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp310-cp310-win_amd64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp310-cp310-win_amd64.whl -
Subject digest:
ace817293a9e436a49cbbad2e04ccd083fabd25de65837a53d98d48f053a6543 - Sigstore transparency entry: 732593747
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 8.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d27984739dc6ce3beb29cd66df425fcd9cf2ffeb097dc77e12ba14ff3e3e868
|
|
| MD5 |
1f849e8d03c8d01adc46da66dfd33ccf
|
|
| BLAKE2b-256 |
6e0fccfbd9fdca9f0e669b19be0edca7615efc14ef3b8ea69c73544503315bd2
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl -
Subject digest:
1d27984739dc6ce3beb29cd66df425fcd9cf2ffeb097dc77e12ba14ff3e3e868 - Sigstore transparency entry: 732593675
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25b08e108db8dd51e561c1070e3a9dec53bac9a880103a99151fe110a618dfee
|
|
| MD5 |
1a0228e7a9d32ef9715ce453f46d7062
|
|
| BLAKE2b-256 |
d282b22832448ed381a25afb61518f8a5045059af8f5881e2e615ca973873ba8
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
25b08e108db8dd51e561c1070e3a9dec53bac9a880103a99151fe110a618dfee - Sigstore transparency entry: 732593794
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c90e535e3906e888b7a19f53eee5c9fcda9493fa512b0a1d1f89ab83c1c1809
|
|
| MD5 |
04f89fabbf771a4ea5b8501638c3273d
|
|
| BLAKE2b-256 |
b8b2f75da0743ba3e847b2844e54d7f672ec6379d4c70c3fa1bc64e81683f789
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp310-cp310-macosx_10_9_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp310-cp310-macosx_10_9_x86_64.whl -
Subject digest:
1c90e535e3906e888b7a19f53eee5c9fcda9493fa512b0a1d1f89ab83c1c1809 - Sigstore transparency entry: 732593687
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 8.4 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66289f819bc7cd8d1ec746a3a66d7e7dabe5f804fc4a2e6b86c1275222829c24
|
|
| MD5 |
9404c6aac955f7e6f2d18ec5c1792a3d
|
|
| BLAKE2b-256 |
1c47754725d60a3a3debd74bb868d64278ebb50b2f4c867b64f753ba85bf1973
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp39-cp39-win_amd64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp39-cp39-win_amd64.whl -
Subject digest:
66289f819bc7cd8d1ec746a3a66d7e7dabe5f804fc4a2e6b86c1275222829c24 - Sigstore transparency entry: 732593814
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 8.3 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fc0730a4653a184791b3e3fd2b52b1a37a940e9cd78eab47ba683adeff23608
|
|
| MD5 |
0f0adaf9caa7b22e3ed786aaacf811de
|
|
| BLAKE2b-256 |
a85dafcd6c1e5c7e4ab8b8261099b3e49f552d32b52e951e728fa70163e9efe5
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl -
Subject digest:
7fc0730a4653a184791b3e3fd2b52b1a37a940e9cd78eab47ba683adeff23608 - Sigstore transparency entry: 732593750
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecfd5d1cc5f721b663a81195cdb2e2a1b8d43c52359308ed1a4aeb21e59f33db
|
|
| MD5 |
8e9e44c2f3f2561bc2d64e9137d27922
|
|
| BLAKE2b-256 |
bdaab1a18b1c2e1439e30b9331c3ad87626e25cd8069e370c3da6fc0ef2aa579
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
ecfd5d1cc5f721b663a81195cdb2e2a1b8d43c52359308ed1a4aeb21e59f33db - Sigstore transparency entry: 732593808
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe9319801f7f854cfda583cf209d374f6d5a161859b18b21d0437b1fb570ecbd
|
|
| MD5 |
a0f207af3c265a46f465a2a576d63f5e
|
|
| BLAKE2b-256 |
27de5d9ebe13604d0a01b78e6e0df032bd7aa1bd48e723e0f8948a5096a787e4
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl -
Subject digest:
fe9319801f7f854cfda583cf209d374f6d5a161859b18b21d0437b1fb570ecbd - Sigstore transparency entry: 732593783
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 8.4 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b4ff8e05d21669096c03a09f5fe9deb50dea0885c8d00907ef947596c79ff7f
|
|
| MD5 |
334ada9bf587225cd6bd2c54d8ac6213
|
|
| BLAKE2b-256 |
d18634b57366eadcf26b9558fa2d04b9275ffbc2f01ac2a713be48db5b2bfcd6
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp38-cp38-win_amd64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp38-cp38-win_amd64.whl -
Subject digest:
7b4ff8e05d21669096c03a09f5fe9deb50dea0885c8d00907ef947596c79ff7f - Sigstore transparency entry: 732593756
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 8.3 MB
- Tags: CPython 3.8, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
750720a13e043a9eb4b8f69a82558f44f205115070ad523cf6eab330c8189297
|
|
| MD5 |
7db9b52aeee655bd52434d658e3d82d5
|
|
| BLAKE2b-256 |
5e14daa2d632fb072cd993b8decdab0086ee60f35ade6ea7279bdd84ef7cd6fc
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl -
Subject digest:
750720a13e043a9eb4b8f69a82558f44f205115070ad523cf6eab330c8189297 - Sigstore transparency entry: 732593803
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4938758b8c6001b5634e42ad314e14a1c922ff140ec0d2d665072ae1a7981a19
|
|
| MD5 |
64b2c8c0631a207240b426dd83116fe8
|
|
| BLAKE2b-256 |
9a6860b92ef8199b4f0a663d9890e26f8c7f344497fd0cded87faafba95dba00
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp38-cp38-macosx_11_0_arm64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp38-cp38-macosx_11_0_arm64.whl -
Subject digest:
4938758b8c6001b5634e42ad314e14a1c922ff140ec0d2d665072ae1a7981a19 - Sigstore transparency entry: 732593716
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_manta-1.4.5.1.dev1-cp38-cp38-macosx_10_9_x86_64.whl.
File metadata
- Download URL: python_manta-1.4.5.1.dev1-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 4.6 MB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30845baa9f78aa7b1a1f3e293a95ca607c0184b940bcb2bfa38f2633226398c5
|
|
| MD5 |
5bf8eb2f31addf5951e4cac636dc6ceb
|
|
| BLAKE2b-256 |
c8dc259ee9563167d7d2cf6b0fd5b9a4471976316c58f740ef5bb4498765a484
|
Provenance
The following attestation bundles were made for python_manta-1.4.5.1.dev1-cp38-cp38-macosx_10_9_x86_64.whl:
Publisher:
build-wheels.yml on DeepBlueCoding/python-manta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_manta-1.4.5.1.dev1-cp38-cp38-macosx_10_9_x86_64.whl -
Subject digest:
30845baa9f78aa7b1a1f3e293a95ca607c0184b940bcb2bfa38f2633226398c5 - Sigstore transparency entry: 732593772
- Sigstore integration time:
-
Permalink:
DeepBlueCoding/python-manta@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/DeepBlueCoding
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-wheels.yml@fa98da7121b8f5cbbd8a154a8aa7722978bfc184 -
Trigger Event:
push
-
Statement type: