> For the complete documentation index, see [llms.txt](https://data-programs.gitbook.io/singularity/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://data-programs.gitbook.io/singularity/cli-reference/cli-reference.md).

# Menu

{% code fullWidth="true" %}

```
NAME:
   singularity - A tool for large-scale clients with PB-scale data onboarding to Filecoin network

USAGE:
   singularity [global options] command [command options]

DESCRIPTION:
   Database Backend Support:
     Singularity supports sqlite3 and postgres as database backends.
     Use '--database-connection-string' or $DATABASE_CONNECTION_STRING to specify the database connection string.
       Example for postgres  - postgres://user:pass@example.com:5432/dbname
       Example for sqlite3   - sqlite:/absolute/path/to/database.db
                   or        - sqlite:relative/path/to/database.db

   Network Support:
     Default settings in Singularity are for Mainnet. You may set below environment values for other network:
       For Calibration network:
         * Set LOTUS_API to https://api.calibration.node.glif.io/rpc/v1
         * Set MARKET_DEAL_URL to https://marketdeals-calibration.s3.amazonaws.com/StateMarketDeals.json.zst
         * Set LOTUS_TEST to 1
       For all other networks:
         * Set LOTUS_API to your network's Lotus API endpoint
         * Set MARKET_DEAL_URL to empty string
         * Set LOTUS_TEST to 0 or 1 based on whether the network address starts with 'f' or 't'
       Switching between different networks with the same database instance is not recommended.

   Logging:
     Singularity uses go-log for logging and can be controlled by below environment variables:
       * GOLOG_LOG_LEVEL  - example values: debug, info, warn, error, dpanic, panic, fatal
       * GOLOG_LOG_FMT    - example values: color, nocolor, json
       * More details can be found at https://github.com/ipfs/go-log

   Upgrading:
     Within each minor version upgrade, use "singularity admin init" to upgrade the database schema.
     For major version upgrade, please refer to the release notes for upgrade instructions.


COMMANDS:
   version, v  Print version information
   help, h     Shows a list of commands or help for one command
   Daemons:
     run  run different singularity components
   Operations:
     admin    Admin commands
     deal     Replication / Deal making management
     wallet   Wallet management
     storage  Create and manage storage system connections
     prep     Create and manage dataset preparations
   Utility:
     ez-prep      Prepare a dataset from a local path
     download     Download a CAR file from the metadata API
     extract-car  Extract folders or files from a folder of CAR files to a local directory

GLOBAL OPTIONS:
   --database-connection-string value  Connection string to the database (default: sqlite:./singularity.db) [$DATABASE_CONNECTION_STRING]
   --help, -h                          show help
   --json                              Enable JSON output (default: false)
   --verbose                           Enable verbose output. This will print more columns for the result as well as full error trace (default: false)

   Lotus

   --lotus-api value    Lotus RPC API endpoint (default: "https://api.node.glif.io/rpc/v1") [$LOTUS_API]
   --lotus-test         Whether the runtime environment is using Testnet. (default: false) [$LOTUS_TEST]
   --lotus-token value  Lotus RPC API token [$LOTUS_TOKEN]

```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://data-programs.gitbook.io/singularity/cli-reference/cli-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
