Skip to main content

PyPI-first scaffold for a dual Codex and Claude science workspace.

Project description

SciX

Planetary atmosphere research, organized for fast science and reliable AI collaboration.

GitHub Workflow Status GitHub release GitHub issues macOS and Linux Python >=3.9

scix builds a reproducible dual-agent workspace for planetary-atmosphere research, so scientists and developers can focus on science instead of setup, and collaborate with AI agents that understand the shared context and tools of the stack.

Introduction  •  Agent CLI Setup  •  Quick Start  •  Workflow  •  Contributing


Introduction

scix is the workspace layer for the planetary-atmosphere modeling stack. It assembles domain libraries into one working environment with shared AI policies and skills, so you have both the tools and the agent context to do your science faster, and collaborate with AI agents more effectively.

It is designed to work alongside:

  • pydisort for DISORT-based radiative transfer workflows
  • kintera for thermodynamics, equation of state, and chemistry
  • pyharp for radiation infrastructure and opacity handling
  • snapy for atmospheric dynamics and coupled workflow composition
  • paddle for higher-level examples, tutorials, and exploratory modeling patterns

With scix, a fresh workspace gives you:

  • a repos/ directory for the reference scientific packages
  • a workspace/ directory for your own scripts, models, and outputs
  • generated AGENTS.md, CLAUDE.md, skills, hooks, and editor/tool configs
  • one setup path for both research users (scix up) and contributors (scix dev)

You can also turn /workspace or any folder in repos/ into a git managed directory:

  • just cd into the folder and run git init
  • scix will ignore these directories in its own git version control so it does not interfere with scix's workspace management

Quick Start

For a new research workspace:

mkdir my-scix-work
cd my-scix-work
python3 -m venv xenv
source xenv/bin/activate
pip install --upgrade pip
pip install scix paddle
scix up

If the short scix command is not on PATH in the current shell yet, run:

python -m scix up

For contributor setup, see the Contributing section below.

scix up will:

  1. create the workspace files and folders
  2. clone the reference repositories into repos/
  3. generate Codex and Claude config, policy, and skills
  4. try to install missing nvm, user-local Node.js/npm, Codex CLI, and Claude Code

The commands you will use most often are:

Command Use it when
scix --help You want to see the list of available commands and options.
scix up You are creating or refreshing a research workspace in the current directory.
scix doctor You want a quick health check on the current workspace.
scix sync You changed the AI canon and need to regenerate Codex/Claude outputs.
scix install-repos One or more reference repositories are missing and need to be cloned again.
scix dev You are working on the scix source repository itself.

Whenever you return to the workspace, reactivate the local environment:

source xenv/bin/activate

Agent CLI Setup

scix up and scix dev try to install missing nvm, user-local Node.js/npm, Codex CLI, and Claude Code automatically.

If that automatic step fails, run this fallback sequence exactly:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm install --lts
nvm use --lts
nvm alias default lts/*
npm install -g @openai/codex
npm install -g @anthropic-ai/claude-code

If codex or claude is still unavailable, start a new shell or load your shell profile with:

source ~/.bashrc
# or if you use zsh (Mac default):
source ~/.zshrc

Official references:

Authenticate Codex

codex login

Alternative auth flows:

codex login --device-auth
printenv OPENAI_API_KEY | codex login --with-api-key

If your installed Codex CLI uses a different login syntax, check:

codex --help

Authenticate Claude

claude auth login

If you use a token-based flow:

claude setup-token

Workflow

Terminal Workflow

From the workspace root:

source xenv/bin/activate
codex

or:

source xenv/bin/activate
claude

Workspace Layout

  • repos/: cloned reference repositories such as pydisort, kintera, pyharp, snapy, and paddle
  • workspace/: your own analyses, experiments, prototypes, and notes
  • xenv/: your manually created local Python environment
  • ai/: the shared AI canon that generates Codex and Claude files

Contributing

If you are developing scix itself, clone the source repository instead of starting from pip install scix:

git clone https://github.com/zoeyzyhu/scix.git
cd scix
python3 -m venv xenv
source xenv/bin/activate
pip install --upgrade pip
pip install -e .[dev]
scix dev

scix dev bootstraps a contributor checkout in place. It keeps the existing source tree, creates any missing workspace files, optionally clones missing reference repositories, regenerates generated Codex and Claude files, and tries to install missing agent CLIs if needed.

Before changing shared agent behavior, read docs/AI_FOLDER_GUIDE.md. That guide explains whatthe repo-root ai/ folder controls, how it maps to generated agent files, and which files are safe to edit.

Install contributor hooks with:

pre-commit install

Run the main contributor checks with:

pre-commit run --all-files
pytest
python -m build
scix sync --check

When you change the AI canon:

  • edit the repo-root ai/ files, not generated files under .codex/, .claude/, .agents/, or repo overlays
  • run scix sync after each logical change so generated files and the packaged template stay aligned
  • inspect both the generated agent diff and the template diff before you commit
  • keep hooks portable and auditable, and never place secrets in prompts or scripts
  • follow the implementer -> tester -> reviewer workflow

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

scix-0.1.25.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

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

scix-0.1.25-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file scix-0.1.25.tar.gz.

File metadata

  • Download URL: scix-0.1.25.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for scix-0.1.25.tar.gz
Algorithm Hash digest
SHA256 4fb6ec8077728e2978572254cfbf05b07ec32567ceda357cc0856fe6a666898f
MD5 b2d4f47515cc108db1c39a94095de524
BLAKE2b-256 4cf4449cf7e18f3ba57c20a88e22930672f90bdf271a087f1e56e0dedf4e867f

See more details on using hashes here.

File details

Details for the file scix-0.1.25-py3-none-any.whl.

File metadata

  • Download URL: scix-0.1.25-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for scix-0.1.25-py3-none-any.whl
Algorithm Hash digest
SHA256 ed28b8d18319c4510909d417ac2aeb45b882d2827416bd282af77e98c18fe852
MD5 3a4f63e894ab0ec550c1583faf627e27
BLAKE2b-256 4999c6a0f43ec27107754d514f8ba8dbd1c67e6c544ad1bb4b7a0817e6a8e56b

See more details on using hashes here.

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