Metadata-Version: 2.4
Name: pandas_tutor
Version: 2.1.0.dev1
Summary: A visualizer for pandas code
Project-URL: Homepage, https://github.com/SamLau95/pandas_tutor
Project-URL: Repository, https://github.com/SamLau95/pandas_tutor
Project-URL: Issues, https://github.com/SamLau95/pandas_tutor/issues
Author-email: Sam Lau <lau@ucsd.edu>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9
Requires-Dist: libcst==0.3.21
Requires-Dist: mypy-extensions==0.4.3
Requires-Dist: pandas~=2.0
Requires-Dist: pympler==0.9
Requires-Dist: simplejson==3.17.5
Requires-Dist: typing-extensions<5.0,>=4.1
Provides-Extra: ci
Requires-Dist: babypandas==0.1.6; extra == 'ci'
Requires-Dist: build; extra == 'ci'
Requires-Dist: mypy==0.910; extra == 'ci'
Requires-Dist: numpy~=2.0; extra == 'ci'
Requires-Dist: pandas~=2.0; extra == 'ci'
Requires-Dist: prettyprinter==0.18.0; extra == 'ci'
Requires-Dist: pytest; extra == 'ci'
Requires-Dist: types-simplejson==3.17.1; extra == 'ci'
Requires-Dist: wheel; extra == 'ci'
Provides-Extra: dev
Requires-Dist: babypandas==0.1.6; extra == 'dev'
Requires-Dist: build; extra == 'dev'
Requires-Dist: jupyterlab; extra == 'dev'
Requires-Dist: mypy==0.910; extra == 'dev'
Requires-Dist: numpy~=2.0; extra == 'dev'
Requires-Dist: pandas~=2.0; extra == 'dev'
Requires-Dist: prettyprinter==0.18.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Requires-Dist: ty>=0.0.1a14; extra == 'dev'
Requires-Dist: types-simplejson==3.17.1; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'
Provides-Extra: sam
Requires-Dist: jupyterlab-vim; extra == 'sam'
Description-Content-Type: text/markdown

# pandas_tutor

takes pandas code and outputs json

## Development Setup

This project uses `uv` for fast Python package management and virtual environments.

### Prerequisites

1. Install `uv` if you haven't already:
   ```bash
   curl -LsSf https://astral.sh/uv/install.sh | sh
   ```

### Quick Setup

Run the setup script:

```bash
./setup_env.sh
```

### Manual Setup

1. Sync dependencies (creates virtual environment automatically):

   ```bash
   uv sync --extra dev
   ```

2. Activate the virtual environment:

   ```bash
   source .venv/bin/activate
   ```

   Or for fish shell:

   ```fish
   source .venv/bin/activate.fish
   ```

### Available Dependencies

- **Development**: `uv sync --extra dev` - includes all development tools (black, mypy, testing, etc.)
- **CI**: `uv sync --extra ci` - minimal dependencies for continuous integration
- **Base**: `uv sync` - only the core dependencies

### Lock File

The `uv.lock` file ensures reproducible builds across different environments. It's automatically created and maintained by `uv sync`.

### Running Tests

```bash
# Activate the environment first
source .venv/bin/activate

# Run tests
python -m pytest pandas_tutor/tests/
```
