
Product
Secure Your AI-Generated Code with Socket MCP
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
CAO is a modular, offline-first command-line tool that lets you convert files between dozens (eventually hundreds) of formats β images, text, geospatial, and more. Designed to be clean, extensible, and completely offline, CAO also includes plugin support for community-driven converters.
CAO is currently distributed via GitHub.
git clone https://github.com/jackmcnulty/cao.git
cd cao
pip install -e .
Youβll need:
click
, Pillow
, geopandas
, pandas
, shapely
, fiona
, pyarrow
(check setup.py for full list)cao convert input.png output.jpg
cao convert input.txt output.png
cao convert data.geojson output.csv
CAO will determine what type of content you're converting and route it to the right source and target.
cao from png
cao from geojson
cao from csv
Outputs something like:
You can convert 'geojson' into:
- csv
- shp
- parquet
CAO supports installable converters and features via plugins.
cao plugin list
cao plugin install ./my_plugin.py
cao plugin install ./plugin_bundle.zip
cao plugin remove my_plugin
cao plugin reload
cao plugin bundle my_plugins.zip
from cao.sources.base import BaseSource
from cao.registry import ConverterRegistry
class HelloSource(BaseSource):
def extract(self, path):
return {"type": "text", "data": "Hello from source"}
@classmethod
def supported_extensions(cls):
return ["hello"]
@classmethod
def data_type(cls):
return "text"
ConverterRegistry.register_source("hello", HelloSource)
from cao.targets.base import BaseTarget
from cao.registry import ConverterRegistry
class UpperTextTarget(BaseTarget):
def write(self, data, path):
with open(path, "w") as f:
f.write(data["data"].upper())
@staticmethod
def accepts_type(data_type):
return data_type == "text"
ConverterRegistry.register_target("txt", lambda ext: UpperTextTarget())
cao/
βββ cao/
β βββ cli.py
β βββ engine.py
β βββ registry.py
β βββ sources/
β β βββ image/
β β βββ geospatial/
β βββ targets/
β β βββ text/
β β βββ image/
β β βββ geospatial/
β βββ plugins/
βββ README.md
βββ setup.py
βββ pyproject.toml
Want to contribute?
CONTRIBUTING.md
for how to add new convertersMIT License β free to use, modify, and share.
FAQs
Convert Anything Offline β a modular CLI tool for file format conversion.
We found that convert-offline demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
Security News
As vulnerability data bottlenecks grow, the federal government is formally investigating NISTβs handling of the National Vulnerability Database.
Research
Security News
Socketβs Threat Research Team has uncovered 60 npm packages using post-install scripts to silently exfiltrate hostnames, IP addresses, DNS servers, and user directories to a Discord-controlled endpoint.