Skip to main content

Arc DevKit

PyPI version CI Coverage Python 3.11+ MIT License Arc Mainnet

Arc DevKit is an open-source developer toolkit for building, debugging, and interacting with applications on Arc Mainnet — Circle's EVM-compatible Layer 1 with USDC as the gas token and sub-second finality. Arc Testnet is fully supported too.

link to project https://arc-dev-kit-uxun.vercel.app/

It solves the practical friction of building on Arc: network config (chain ID, RPC, explorer, contract addresses — no manual lookup needed), USDC's dual native/ERC-20 interface, PoA middleware, ERC-20 monitoring, async agents, WebSocket streaming, mainnet safety guardrails, and AI-assisted debugging — all packaged and ready to use.


What is Arc?

Arc is a Layer 1 blockchain by Circle (creators of USDC), designed for programmable payments and autonomous economic agents. Mainnet launched 2026-09-16.

Feature Detail
EVM-compatible Solidity/web3.py/ethers.js work without modification
USDC as gas No ETH needed — USDC is the native gas token (18 decimals), also exposed as a synchronized ERC-20 view (6 decimals)
Malachite consensus Sub-second block finality
Circle Agent Stack Native infrastructure for AI economic agents
Mainnet Chain ID 5042 — RPC https://rpc.mainnet.arc.io — Explorer https://explorer.arc.io
Testnet Chain ID 5042002 — RPC https://rpc.testnet.arc.io — Explorer https://explorer.testnet.arc.io

See docs/mainnet/NETWORK_CONFIG.md for full, sourced network details.


Quickstart

Requires Python 3.11+

pip install arc-devkit
from arc_devkit import Arc

arc = Arc.mainnet()  # or Arc.testnet() for development

print(arc.network.name, arc.network.chain_id)
print(arc.latest_block()["number"])

tx = arc.get_transaction("0x...")
report = arc.debug_transaction("0x...")

No manual RPC/chain-ID/contract lookup needed — everything above is pre-configured and verified (see docs/mainnet/MIGRATION_AUDIT.md Part B for sources). Pass rpc_url= to Arc.mainnet()/Arc.testnet() to use your own provider (Alchemy, QuickNode, self-hosted).

CLI setup

# 1. Copy example env
cp .env.example .env

# 2. Fill in your keys
#    ANTHROPIC_API_KEY  — from console.anthropic.com
#    ARC_NETWORK        — mainnet (default) or testnet
#    ARC_PRIVATE_KEY    — optional; needed to send transactions

# 3. Guided interactive setup (creates .env from scratch)
arcdevkit init

# 4. Verify connection and network health
arcdevkit status
arcdevkit doctor
Arc Mainnet
Chain ID:      5042
Current block: #21500000
Gas price:     0.02 gwei

⚠ Real funds — mainnet

For development, set ARC_NETWORK=testnet in .env — see docs/mainnet/MIGRATION_FROM_TESTNET.md. (A per-command --network override flag is not implemented yet — see Known Limitations in the migration report.)


Modules

Module Package What it does
Dev Copilot arc_devkit.copilot AI assistant (Claude, Gemini, GPT, or Ollama) with Arc context built in
Payment Agent arc_devkit.agents Sign and broadcast USDC/native payments
Monitor Agent arc_devkit.agents Watch wallets for balance changes and ERC-20 events
Async Monitor arc_devkit.agents Async-native monitor for FastAPI / WebSocket use
Tx Debugger arc_devkit.debugger Decode reverts, input data, and analyze transactions with AI
Portfolio Analyzer arc_devkit.analytics Snapshot balances, scan txs, score activity
USDC Token arc_devkit.usdc ERC-20 balance, transfer, approve, allowance
Contracts arc_devkit.contracts Call view functions, send transactions, decode events
Event Listener arc_devkit.events Poll on-chain logs and trigger callbacks
Contract Deployer arc_devkit.deploy Deploy from ABI+bytecode or Solidity source
REST API arc_devkit.api FastAPI server with SSE streaming and WebSocket monitor
CLI arc / arcdevkit Full command-line interface for all modules

Dev Copilot

AI assistant with Arc blockchain context embedded in the system prompt. Answers questions, generates code, explains Circle ecosystem concepts. Backed by a pluggable LLM provider — Claude (Anthropic, default), Gemini (Google), GPT (OpenAI), or a local Ollama model — selected globally via COPILOT_PROVIDER in .env:

COPILOT_PROVIDER=anthropic   # default — requires ANTHROPIC_API_KEY
# COPILOT_PROVIDER=gemini    # requires pip install arc-devkit[gemini], GEMINI_API_KEY, GEMINI_MODEL
# COPILOT_PROVIDER=openai    # requires pip install arc-devkit[openai], OPENAI_API_KEY, OPENAI_MODEL
# COPILOT_PROVIDER=ollama    # local, no API key — requires OLLAMA_MODEL (already pulled) and a running Ollama server

ask(), ask_stream(), conversation history, response caching, offline mode, and image attachments work identically across all four providers. Agentic tool-use mode (run_agent() / arc ask --agent) is Anthropic-only today — it raises NotImplementedError with the other providers, since each has an incompatible tool-calling schema that hasn't been wired up yet. No model name is ever guessed for Gemini/OpenAI/Ollama — you set GEMINI_MODEL/OPENAI_MODEL/OLLAMA_MODEL explicitly, since a hardcoded default could silently point at a deprecated or non-existent model. See arc_devkit/copilot/providers/ for the provider abstraction.

CLI

# Ask a question
arcdevkit copilot ask "How do I deploy an ERC-20 contract on Arc testnet?"

# Streaming output (token by token)
arcdevkit copilot ask "Write a USDC payment contract in Solidity" --stream

Python

from arc_devkit.copilot.agent import DevCopilot

copilot = DevCopilot()

# Single question
answer = copilot.ask("What is the gas cost in USDC for a simple transfer on Arc?")
print(answer)

# Streaming
for chunk in copilot.ask_stream("Write a recurring payment agent in Python"):
    print(chunk, end="", flush=True)

# Pass an image (PNG/JPEG/GIF/WebP) as context
answer = copilot.ask("What does this error mean?", image_path="screenshot.png")

# Maintain multi-turn conversation
copilot.ask("What is Circle CCTP?")
copilot.ask("Show me a Python example of a cross-chain USDC transfer")

# Count tokens before calling (free estimate)
tokens = copilot.count_tokens("Explain how Malachite consensus works")
print(f"This prompt uses ~{tokens} tokens")

# Offline mode — returns a static message, no API call (useful in CI/tests)
copilot = DevCopilot(offline=True)
copilot.ask("anything")  # → "[Offline mode] ..."

# Inject custom context (e.g. your contract ABI or project description)
copilot = DevCopilot(extra_context="This project uses a custom USDC vault contract.")

Features:

  • In-memory conversation history per session
  • Response cache with 5-minute TTL (MD5 hash of prompt + model)
  • Token usage logged on every call
  • offline=True for CI/test environments without an API key
  • Image attachments support (PNG, JPEG, GIF, WebP)
  • Model configurable via ANTHROPIC_MODEL env var (default: claude-sonnet-4-6)

Payment Agent

Signs and broadcasts transactions on Arc. Supports native ARC transfers and USDC ERC-20 transfers.

from arc_devkit.agents.payment_agent import PaymentAgent
import os

agent = PaymentAgent(private_key=os.environ["ARC_PRIVATE_KEY"])

# Send native ARC
result = agent.execute(
    to="0xRecipientAddress",
    amount_usdc=1.5,           # interpreted as native ARC amount
    enviar=True,
    token="native",
)
print(result["tx_hash"])

# Send USDC ERC-20
result = agent.execute(
    to="0xRecipientAddress",
    amount_usdc=10.0,
    enviar=True,
    token="usdc",
)

# Dry run — returns signed tx without broadcasting
result = agent.execute(to="0xAddr", amount_usdc=5.0, enviar=False)
print(result["raw_transaction"])

# Batch payments (sequential, nonce-incremental)
payments = [
    {"to": "0xAddr1", "amount_usdc": 1.0},
    {"to": "0xAddr2", "amount_usdc": 2.0},
    {"to": "0xAddr3", "amount_usdc": 0.5},
]
results = agent.execute_batch(payments, enviar=True)

# Success / failure callbacks
agent.execute(
    to="0xAddr",
    amount_usdc=5.0,
    enviar=True,
    on_success=lambda r: print(f"Confirmed: {r['transactionHash'].hex()}"),
    on_failure=lambda e: print(f"Failed: {e}"),
)

Features:

  • Automatic gas estimation via eth_estimateGas (fallback 21 000)
  • Waits for receipt by default (120s timeout, configurable)
  • Pre-send simulation via eth_call to detect reverts before broadcasting
  • Batch execution with automatic nonce management
  • Multi-RPC fallback (comma-separated ARC_RPC_URL)
  • Retry on network errors (3 attempts, exponential backoff via tenacity)

Monitor Agent

Watches one or more wallets for balance changes and ERC-20 Transfer events.

from arc_devkit.agents.monitor_agent import MonitorAgent

monitor = MonitorAgent(
    watched_addresses=["0xWallet1", "0xWallet2"],
    interval_seconds=15,
    min_change_wei=10**16,           # only alert on changes ≥ 0.01 ARC
    state_file="monitor_state.json", # persists across restarts
    usdc_contract_address="0xUSDs",  # enable ERC-20 event scanning
    webhook_url="https://myapp.io/hooks/arc",  # optional HTTP webhook
)

def on_event(event):
    if event["event_type"] == "native":
        print(f"[{event['type']}] {event['address']}: {event['change_wei']} wei")
    elif event["event_type"] == "erc20_transfer":
        print(f"[USDC {event['type']}] {event['value_atomic']} atomic units")

# Blocking loop (runs until stop() or KeyboardInterrupt)
monitor.execute(callback=on_event)

# Non-blocking: run in a thread and stop later
import threading
t = threading.Thread(target=monitor.execute, kwargs={"callback": on_event}, daemon=True)
t.start()
# ... later
monitor.stop()

Features:

  • Multiple wallets in one instance
  • Minimum threshold to suppress micro-fluctuations
  • JSON state file — balance cursor survives restarts
  • ERC-20 Transfer event scanning (USDC log monitoring via eth_getLogs)
  • HTTP webhook: POST event payloads to any URL on each alert
  • Retry on network errors (tenacity)

Async Monitor Agent (for FastAPI / WebSocket)

Drop-in async version of MonitorAgent. Uses asyncio.sleep and asyncio.to_thread — never blocks the event loop.

from arc_devkit.agents.async_monitor import AsyncMonitorAgent

monitor = AsyncMonitorAgent(
    watched_address="0xWallet",
    interval_seconds=10,
    min_change_wei=0,
)

# Async execute (await in an async context)
async def run():
    result = await monitor.execute(
        callback=lambda event: print(event),  # sync or async callback
        max_iterations=100,
    )

# Async generator — ideal for WebSocket handlers
async def stream_to_websocket(ws):
    async for event in monitor.event_stream():
        await ws.send_json(event)

WebSocket via REST API

Arc DevKit exposes a WebSocket endpoint out of the box:

WS /agents/monitor/{address}?interval=15&min_change_wei=0
// Browser / frontend
const ws = new WebSocket("ws://localhost:8000/agents/monitor/0xYourWallet");
ws.onmessage = (e) => {
  const event = JSON.parse(e.data);
  if (event.event_type === "native") {
    console.log(`Balance change: ${event.change_wei} wei (${event.type})`);
  } else if (event.event_type === "erc20_transfer") {
    console.log(`USDC ${event.type}: ${event.value_atomic} atomic units`);
  }
  // event_type === "ping" → heartbeat, no action needed
};

Each event message contains:

Field Description
event_type "native", "erc20_transfer", or "ping" (heartbeat)
address Monitored wallet address
type "credit" or "debit"
balance_wei Current balance in wei
change_wei Change amount (signed)
tx_hash Transaction hash (ERC-20 events only)

Tx Debugger

Fetches transaction data via RPC, decodes the error/result, and uses the Dev Copilot to generate a plain-language diagnosis.

# Analyze a transaction
arcdevkit debug tx 0xYourTxHashHere

# Load an ABI to decode input data
arcdevkit debug tx 0xYourTxHash --abi ./MyContract.abi.json

# Batch — analyze a file of hashes (one per line)
arcdevkit debug batch hashes.txt

# View recent operation history
arcdevkit history
from arc_devkit.debugger.tx_analyzer import TxAnalyzer

analyzer = TxAnalyzer()
report = analyzer.analyze("0xYourTxHashHere", abi_path="MyContract.abi.json")
print(report)

Example output for a reverted transaction:

Status:     reverted
Error:      ERC20: transfer amount exceeds balance
Gas used:   21,000 / 100,000
Cost:       0.0008 USDC
Diagnosis:  The sender wallet did not have enough USDC balance at the time
            of execution. Call balanceOf() before transfer() to verify.
Suggestion: Add a pre-check or use a try/catch in your contract.

Features:

  • Decodes require() string errors and custom Solidity errors
  • Decodes input data (function name + arguments) when ABI is provided
  • History saved to ~/.arc_devkit/history.json automatically
  • Batch analysis from a file of tx hashes

Portfolio Analyzer

Snapshot a wallet's complete state and activity on Arc, with AI commentary.

# Analyze a single wallet
arcdevkit portfolio analyze 0xYourWalletAddress

# Show saved balance history
arcdevkit portfolio history 0xYourWalletAddress

# Generate a consolidated report for multiple wallets
arcdevkit portfolio report wallets.json
from arc_devkit.analytics.portfolio import PortfolioAnalyzer

analyzer = PortfolioAnalyzer()
snapshot = analyzer.analyze("0xYourWalletAddress", blocks_back=1000)

print(f"Native balance: {snapshot.native_balance} ARC")
print(f"USDC balance:   {snapshot.usdc_balance} USDC")
print(f"Total txs sent: {snapshot.nonce}")
print(f"Activity:       {snapshot.activity_score}")  # high/medium/low/inactive
print(f"Recent txs:     {len(snapshot.recent_txs)}")

Features:

  • Scans recent N blocks for sent/received transactions
  • Activity score: high / medium / low / inactive
  • Balance history snapshots saved to ~/.arc_devkit/portfolio_history/
  • Multi-wallet consolidated report via JSON wallet file

USDC Token

ERC-20 wrapper for the USDC contract on Arc. All amounts use Decimal with 6 decimal places.

from arc_devkit.usdc.token import USDCToken
from decimal import Decimal

usdc = USDCToken(contract_address="0xUSDCContractAddress")

# Read
balance = usdc.balance("0xWalletAddress")         # → Decimal("10.500000")
allowance = usdc.allowance("0xOwner", "0xSpender") # → Decimal("100.0")

# Write (requires private key)
tx_hash = usdc.transfer("0xRecipient", Decimal("5.0"), private_key="0xKey")
tx_hash = usdc.approve("0xSpender", Decimal("50.0"), private_key="0xKey")

Contracts

Low-level utilities for interacting with any EVM contract on Arc.

from arc_devkit.contracts.loader import load_abi, call_view, send_tx, decode_events

# Load ABI from JSON file (supports {"abi": [...]} or raw [...] format)
abi = load_abi("MyContract.abi.json")

# Read-only call (eth_call)
result = call_view(abi, "0xContractAddress", "totalSupply")
result = call_view(abi, "0xContractAddress", "balanceOf", "0xWallet")

# Send transaction
tx_hash = send_tx(
    abi, "0xContractAddress", "transfer",
    private_key="0xKey",
    "0xRecipient", 1_000_000,  # function args
)

# Decode events from a receipt
events = decode_events(receipt, abi, "Transfer", "0xContractAddress")
for evt in events:
    print(evt["args"])

Event Listener

Polls on-chain logs for any event and fires callbacks. No WebSocket RPC required — uses eth_getLogs.

from arc_devkit.events.listener import EventListener

listener = EventListener(
    contract_address="0xUSDCAddress",
    abi=erc20_abi,
    from_block="latest",
)

listener.on("Transfer", lambda evt: print(f"Transfer: {evt['args']}"))

# Blocking loop (runs until stop())
listener.start(poll_interval=5)

# Or: single-shot manual poll
events = listener.poll()

Contract Deployer

Deploys contracts from pre-compiled ABI+bytecode or directly from a .sol source file.

from arc_devkit.deploy.deployer import ContractDeployer

deployer = ContractDeployer(private_key="0xKey")

# Deploy from ABI + bytecode
address = deployer.deploy(
    abi=abi,
    bytecode="0x...",
    constructor_args=[],
)
print(f"Deployed at: {address}")

# Deploy from Solidity source (requires solc / py-solc-x)
address = deployer.deploy_source(
    source_file="MyToken.sol",
    contract_name="MyToken",
    constructor_args=["MyToken", "MTK", 18],
)

REST API

Arc DevKit ships a full FastAPI server with Swagger UI, authentication, rate limiting, and real-time streaming.

# Start
uvicorn arc_devkit.api.main:app --reload

# Swagger UI  →  http://localhost:8000/docs
# ReDoc       →  http://localhost:8000/redoc

Endpoints

Method Route Description
POST /copilot/ask Ask the Dev Copilot
POST /copilot/ask/stream SSE streaming response (token by token)
GET /agents/balance/{address} Query wallet balance
POST /agents/wallet Create a new wallet
POST /agents/payment Execute a payment
GET /agents/block Current block number and chain ID
WS /agents/monitor/{address} Real-time balance events (WebSocket)
GET /debug/tx/{hash} Analyze a transaction
GET /debug/history Paginated analysis history
GET /health API health + RPC connectivity

Authentication

# Enable API key auth
export API_KEY="your-secret-key"

# Pass in every request
curl -H "X-API-Key: your-secret-key" http://localhost:8000/health

# Without API_KEY set, auth is disabled (local development)

SSE Streaming

curl -X POST http://localhost:8000/copilot/ask/stream \
  -H "Content-Type: application/json" \
  -d '{"prompt": "How do I send USDC on Arc?"}' \
  --no-buffer
# Stream: data: {"token": "To "} data: {"token": "send "} ... data: {"done": true}

WebSocket Monitor

# Using websocat CLI
websocat "ws://localhost:8000/agents/monitor/0xYourWallet?interval=10"
# {"event_type": "ping"}
# {"event_type": "native", "type": "credit", "change_wei": "1000000000000000000", ...}

Docker

docker compose up

The docker-compose.yml mounts your .env and runs the API on port 8000 with a healthcheck.


CLI Reference

The primary entry point is arcdevkit, with commands grouped by domain.

Setup

arcdevkit init                              # interactive .env wizard
arcdevkit status                            # check active network connection + block info
arcdevkit doctor                            # health check: RPC, chain ID, USDC contract, explorer

Config — manage .env

arcdevkit config list                       # show all variables
arcdevkit config get ANTHROPIC_API_KEY      # read a specific variable
arcdevkit config set ARC_RPC_URL https://...# write a variable

Copilot — AI assistant

arcdevkit copilot ask "What is Malachite consensus?"
arcdevkit copilot ask "Write a USDC vault" --stream   # token-by-token streaming
arcdevkit copilot ask "..." --json                    # output as JSON

Agent — wallet & payments

arcdevkit agent create-wallet               # generate new EVM wallet
arcdevkit agent balance 0xAddress...        # check wallet balance
arcdevkit agent status                      # network info (block, chain ID, gas)
arcdevkit agent pay 0xDest... 5.0           # sign-only (safe default)
arcdevkit agent pay 0xDest... 5.0 --send    # sign and broadcast
arcdevkit agent pay 0xDest... 5.0 --send --key 0xPrivKey...
arcdevkit agent monitor 0xWallet...         # watch balance changes
arcdevkit agent monitor 0xWallet... --interval 5 --max 50

Debug — transaction analysis

arcdevkit debug tx 0xHash...                # analyze a transaction with AI
arcdevkit debug tx 0xHash... --json
arcdevkit debug estimate 0xDest... 10.0     # estimate gas cost
arcdevkit debug estimate 0xDest... 10.0 --from 0xSender...
arcdevkit debug batch hashes.txt            # analyze multiple txs from a file
arcdevkit debug batch hashes.txt --abi MyContract.json

Portfolio — wallet analytics

arcdevkit portfolio analyze 0xWallet...     # balances, txs, AI insights
arcdevkit portfolio analyze 0xWallet... --no-ai --blocks 500
arcdevkit portfolio history 0xWallet...     # saved balance snapshots
arcdevkit portfolio report wallets.json     # consolidated multi-wallet report

Codegen — script generation

arcdevkit codegen "monitor a wallet and alert when balance drops"
arcdevkit codegen "deploy an ERC-20 with a mint function" --out ./scripts
arcdevkit codegen "..." --no-save           # print only, don't save to disk

History — operation log

arcdevkit history                           # last 10 CLI operations
arcdevkit history --limit 25 --json

Project Structure

arc_devkit/
├── config.py               # Settings from .env; validates required vars at import
├── core/
│   ├── connection.py       # web3.py + ExtraDataToPOAMiddleware for Arc's validator model
│   ├── wallet.py           # Wallet creation, balance queries
│   └── gas.py              # USDC gas estimation
├── copilot/
│   └── agent.py            # DevCopilot — streaming, history, cache, offline mode, images
├── agents/
│   ├── base_agent.py       # BaseAgent ABC — retry, multi-RPC, wallet resolution
│   ├── async_base.py       # AsyncBaseAgent — async ABC via asyncio.to_thread
│   ├── payment_agent.py    # PaymentAgent — native + USDC payments, batch
│   ├── monitor_agent.py    # MonitorAgent — sync polling + ERC-20 events + webhook
│   └── async_monitor.py    # AsyncMonitorAgent — async loop + event_stream generator
├── debugger/
│   └── tx_analyzer.py      # TxAnalyzer — revert decode, ABI decode, AI analysis
├── analytics/
│   └── portfolio.py        # PortfolioAnalyzer — balance snapshot, tx scan, activity score
├── usdc/
│   └── token.py            # USDCToken — ERC-20 wrapper (balance, transfer, approve)
├── contracts/
│   └── loader.py           # load_abi, call_view, send_tx, decode_events
├── events/
│   └── listener.py         # EventListener — eth_getLogs polling + callbacks
├── deploy/
│   └── deployer.py         # ContractDeployer — ABI+bytecode and .sol source deploy
├── api/
│   ├── main.py             # FastAPI app — CORS, auth, rate limit, logging middleware
│   └── routes/
│       ├── copilot.py      # /copilot — ask, stream (SSE)
│       ├── agents.py       # /agents — wallet, payment, balance, WS monitor
│       └── debugger.py     # /debug — analyze tx, history
└── cli/
    ├── flat.py             # `arc` — flat CLI for quick use
    └── commands/           # `arcdevkit` — grouped subcommands

Development

# Clone and install in editable mode with dev dependencies
git clone https://github.com/Jeielsantosdev/arc-devkit.git
cd arc-devkit
pip install -e ".[dev]"

# Unit tests (no network required)
pytest

# Run a specific test
pytest -k "test_copilot"

# Integration tests (live Arc — mainnet or testnet per ARC_NETWORK — + Anthropic API)
pytest -m integration

# Lint and format
ruff check .
ruff format .

# Type check
mypy arc_devkit/

# Build docs locally
mkdocs serve

Environment Variables

Variable Required Default Description
ANTHROPIC_API_KEY Yes — Anthropic API key (console.anthropic.com)
ARC_NETWORK No mainnet mainnet or testnet — selects RPC/chain ID/contract defaults
ARC_RPC_URL No network default Arc RPC endpoint override, comma-separated for multi-RPC failover
ARC_PRIVATE_KEY No — Wallet private key — required to send transactions
ANTHROPIC_MODEL No claude-sonnet-4-6 Claude model to use
ARC_CHAIN_ID No network default Arc chain ID override
LOG_LEVEL No INFO Logging level
API_KEY No — REST API key — if unset, auth is disabled

CI / CD

Pipeline Trigger What it does
ci.yml Every push / PR Lint (ruff) + unit tests on Python 3.11, 3.12, 3.13 + mypy
ci.yml (integration job) main branch Runs pytest -m integration against live Arc RPCs (read-only)
publish.yml Push of v* tag Builds wheel + sdist, publishes to PyPI, creates GitHub Release

License

MIT — see LICENSE for details.


Arc Mainnet is live (launched 2026-09-16) and is Arc DevKit's default network as of v0.9.0. Arc Testnet remains fully supported for development (ARC_NETWORK=testnet). Some CCTP bridge details (attestation API support for Arc, V2 ABI) are not yet validated against live traffic — see docs/mainnet/MAINNET_MIGRATION_REPORT.md for known limitations. Pin your version in production: pip install arc-devkit==0.9.0.

Metadata

Release files for arc-devkit 0.10.0

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

Source distribution (sdist)

Source distribution for arc-devkit 0.10.0
File Size Uploaded Provenance
arc_devkit-0.10.0.tar.gz 185.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arc-devkit 0.10.0
File Interpreter ABI Platform
arc_devkit-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 343.8 kB

Release files / arc_devkit-0.10.0.tar.gz

Download URL arc_devkit-0.10.0.tar.gz
Size 185.7 kB
Tags Source
SHA-256 checksum
How to use checksums
93440c1e5df537f64c3c1663fecc514da9f5def3357dac6b750007c7a3a36e05
BLAKE2b-256 checksum
How to use checksums
00625566c0b78bf3ea6f57e7f5ac75bec26d8a7ba57b39e4502ac43cce349a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / arc_devkit-0.10.0-py3-none-any.whl

Download URL arc_devkit-0.10.0-py3-none-any.whl
Size 158.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc9700c15416bb6af7c4ba3ed648a2cb8b56c1f56a53f3d718ce6a9465db439e
BLAKE2b-256 checksum
How to use checksums
bbb79c0475deda91aee9c6b85dd72e376b7318d7e74f0c95323b0cf94a604bd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for arc-devkit 0.10.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page