Skip to main content

Security-focused local file type detection powered by Google Magika

Project description

detect-file-type-local

CI License: MIT Python 3.8+ Inference: Local/Offline API Keys

An OpenClaw skill for AI-powered local file type detection.

Wraps Google Magika to provide ML-based file type identification that runs entirely offline. No API keys, no network calls — just local inference on an embedded ONNX model.

Features

  • 214 file types detected by content, not extension
  • Fully offline — no network access required
  • Fast — only reads the bytes needed for classification
  • Batch support — process multiple files or entire directories
  • Multiple output formats — JSON, human-readable, bare MIME type
  • Stdin support — pipe content directly

Quick Start

pip install -e .

# Detect a single file
detect-file-type-local document.pdf

# Batch detect
detect-file-type-local --human *.pdf *.png

# Recursive directory scan
detect-file-type-local -r ./uploads/

# Pipe from stdin
cat mystery_file | detect-file-type-local -

Compatibility alias: detect-file-type remains available.

Output Formats

JSON (default):

{
  "path": "photo.jpg",
  "label": "jpeg",
  "mime_type": "image/jpeg",
  "score": 0.99,
  "group": "image",
  "description": "JPEG image",
  "is_text": false
}

Human-readable:

photo.jpg: JPEG image (image/jpeg) [score: 0.99]

MIME-only:

image/jpeg

OpenClaw Skill

See SKILL.md for the OpenClaw skill definition, including structured output schemas and usage guidance for LLM integration.

Note: this skill currently uses manual local installation (pip install -e ...). Auto-install metadata will be added after a public package artifact is published and resolvable.

Development

pip install -e '.[dev]'
pytest tests/ -v
ruff check .

Release

PyPI publishing is automated via GitHub Actions (Publish Python Package workflow):

  1. Create a GitHub release with a tag matching package version (for example, v0.1.0)
  2. Workflow builds and validates artifacts
  3. Workflow publishes to PyPI via trusted publishing

After PyPI release, update and republish the ClawHub skill metadata to enable auto-install from detect-file-type-local.

License

MIT — see LICENSE.

This project uses Google Magika (Apache-2.0). See NOTICE and THIRD_PARTY_LICENSES.md.

Project details


Download files

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

Source Distribution

detect_file_type_local-0.1.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

detect_file_type_local-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file detect_file_type_local-0.1.0.tar.gz.

File metadata

  • Download URL: detect_file_type_local-0.1.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for detect_file_type_local-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9d76ba356151607d20979d3ed4be3d6650207ec94447eff73e0d3a4155209316
MD5 d2afb7cbe286bda941ca576d13dabb55
BLAKE2b-256 4ef094a74268d75461b69c79acfe051ce55a867181bc5da005190a64f34f8dce

See more details on using hashes here.

Provenance

The following attestation bundles were made for detect_file_type_local-0.1.0.tar.gz:

Publisher: pypi-publish.yml on pgeraghty/openclaw-detect-file-type-local

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

File details

Details for the file detect_file_type_local-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for detect_file_type_local-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d72b8d39971d0d57696c5a7e741c2fb10538111e33c3233ef3477a43019d4b5
MD5 d228a8b3e24aa00897c3eb6a29ca40f1
BLAKE2b-256 5cc81f4e2faabd5056aa5ba612d417396f8c59a304a92928defad5adb92e9f79

See more details on using hashes here.

Provenance

The following attestation bundles were made for detect_file_type_local-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on pgeraghty/openclaw-detect-file-type-local

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page