Installation & Setup¶
Xcore requires Python 3.12 or higher. It uses Poetry for dependency management and requires a C++ compiler for the security scanning module.
Prerequisites¶
- Python 3.12+ installed
- Poetry installed
- C++ compiler (GCC, Clang, or MSVC) for
pybind11extensions - Redis (optional, required for Redis cache and background workers)
- PostgreSQL (optional, required for multi-tenant database isolation)
Step-by-Step Installation¶
1. Clone the repository¶
2. Install dependencies¶
Use the provided makefile for a standardized setup:
Alternatively, using Poetry directly:
3. Compile the C++ Security Scanner¶
Xcore uses a compiled C++ module (scanner_core) for high-performance AST scanning of sandboxed plugins.
Build verification
After compilation, you should see a .so (Linux/macOS) or .pyd (Windows) file in the xcore/kernel/security/ directory.
Development Environment¶
To initialize the full development environment (permissions, installation, and dev server):
Press Ctrl+C to stop the server once it starts.
Docker Support¶
Xcore includes a .devcontainer configuration for VS Code, allowing you to develop in a pre-configured container with all dependencies installed.
Verification¶
Run the test suite to ensure everything is correctly configured:
YAML Configuration¶
Before running Xcore, ensure you have an xcore.yaml (or integration.yaml) in your project root.
- Set to
productionto enable strict security checks. - MANDATORY: Must be changed in production. Xcore will fail to boot if the default value is used in
productionmode. - If
true, all Trusted plugins must have a valid.sigsignature file.
See Also¶
- Quickstart
- Learn how to integrate Xcore into your FastAPI application.
- CLI Reference
- Explore the
xcorecommand-line tools.