cs-manim


Namecs-manim JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryVideo animations with Manim to explain technical concepts related to computer science
upload_time2025-07-21 23:37:42
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords manim animation education computer-science visualization teaching
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CS-Manim

Video animations with Manim to explain technical concepts related to computer science.

## Description

CS-Manim is a Python library that provides reusable objects and styles to create educational animations with Manim, specially designed to explain computer science and programming concepts.

## Installation

```bash
pip install cs-manim
```

## Usage

```python
from manim import *
from cs_manim import Computer, Server, MobilePhone
from cs_manim import CLIENT_COLOR, SERVER_COLOR, FONT_NAME

class MyScene(Scene):
    def construct(self):
        # Create objects for your animations
        computer = Computer("PC Client")
        server = Server("API Server")
        mobile = MobilePhone("Smartphone")

        # Position and animate
        computer.shift(LEFT * 3)
        server.shift(RIGHT * 3)

        self.play(Create(computer))
        self.play(Create(server))
        self.play(Create(api_call))
```

## Features

- **Reusable objects**: Computers, servers, mobile phones, HTTP calls
- **Consistent styles**: Predefined colors and fonts
- **Manim compatible**: Uses Manim 0.19.0+
- **Easy to use**: Simple import and intuitive API

## Available Objects

### PortableComputer

```python
computer = PortableComputer(name="My PC", color=CLIENT_COLOR)
```

### Server

```python
server = Server(name="My Server", color=SERVER_COLOR)
```

### MobilePhone

```python
mobile = MobilePhone(name="My Phone", color=PURPLE)
```

### AndroidLogo

```python
android = AndroidLogo(color=GREEN)
```

### AppleLogo

```python
apple = AppleLogo(color=WHITE)
```

### Database

```python
database = Database(name="My Database", color=BLUE)
```

### Cloud

```python
cloud = Cloud(name="My Cloud", color=GRAY)
```

### Monitor

```python
monitor = Monitor(name="My Monitor", color=BLACK)
```

### TestTube

```python
test_tube = TestTube(color=RED)
```

## Development

### Environment Setup

```bash
# Clone the repository
git clone https://github.com/PierreOlivierBrillant/cs-manim.git
cd cs-manim

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# or .venv\Scripts\activate  # Windows

# Install in development mode
pip install -e .[dev]
```

### Tests

```bash
# Run tests
pytest

# With coverage
pytest --cov=cs_manim
```

### Formatting and linting

```bash
# Format the code
black cs_manim tests examples

# Check style
ruff cs_manim tests examples

# Check types
mypy cs_manim
```

### Package building

```bash
# Build the package
python -m build

# Check the package
twine check dist/*
```

## Publishing

### Prerequisites for publishing

1. PyPI account (https://pypi.org/)
2. PyPI API token configured
3. All checks passed

### Publishing steps

1. **Update version** in `pyproject.toml`
2. **Update CHANGELOG.md**
3. **Create git tag**: `git tag v0.1.0`
4. **Push the tag**: `git push origin v0.1.0`
5. **Create release on GitHub**

Publishing to PyPI happens automatically via GitHub Actions when creating a release.

### Manual publishing

```bash
# Build the package
python -m build

# Publish to PyPI
twine upload dist/*
```

## Examples

See the `examples/` folder for usage examples.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution instructions.

## Dependencies

- Python >= 3.10
- Manim >= 0.19.0
- Pillow >= 11.0.0
- NumPy >= 1.24.0
- SciPy >= 1.10.0

## License

MIT License - see the [LICENSE](LICENSE) file for details.

## Author

Pierre-Olivier Brillant - pierreolivierbrillant@gmail.com

## Links

- [GitHub](https://github.com/PierreOlivierBrillant/cs-manim)
- [PyPI](https://pypi.org/project/cs-manim/)
- [Manim Documentation](https://docs.manim.community/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cs-manim",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Pierre-Olivier Brillant <pierreolivierbrillant@gmail.com>",
    "keywords": "manim, animation, education, computer-science, visualization, teaching",
    "author": null,
    "author_email": "Pierre-Olivier Brillant <pierreolivierbrillant@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/ff/5d/2f984dd54821e1e9d9a19bfd847bf247a3db088393b4c6b8748d23b34689/cs_manim-0.1.4.tar.gz",
    "platform": null,
    "description": "# CS-Manim\n\nVideo animations with Manim to explain technical concepts related to computer science.\n\n## Description\n\nCS-Manim is a Python library that provides reusable objects and styles to create educational animations with Manim, specially designed to explain computer science and programming concepts.\n\n## Installation\n\n```bash\npip install cs-manim\n```\n\n## Usage\n\n```python\nfrom manim import *\nfrom cs_manim import Computer, Server, MobilePhone\nfrom cs_manim import CLIENT_COLOR, SERVER_COLOR, FONT_NAME\n\nclass MyScene(Scene):\n    def construct(self):\n        # Create objects for your animations\n        computer = Computer(\"PC Client\")\n        server = Server(\"API Server\")\n        mobile = MobilePhone(\"Smartphone\")\n\n        # Position and animate\n        computer.shift(LEFT * 3)\n        server.shift(RIGHT * 3)\n\n        self.play(Create(computer))\n        self.play(Create(server))\n        self.play(Create(api_call))\n```\n\n## Features\n\n- **Reusable objects**: Computers, servers, mobile phones, HTTP calls\n- **Consistent styles**: Predefined colors and fonts\n- **Manim compatible**: Uses Manim 0.19.0+\n- **Easy to use**: Simple import and intuitive API\n\n## Available Objects\n\n### PortableComputer\n\n```python\ncomputer = PortableComputer(name=\"My PC\", color=CLIENT_COLOR)\n```\n\n### Server\n\n```python\nserver = Server(name=\"My Server\", color=SERVER_COLOR)\n```\n\n### MobilePhone\n\n```python\nmobile = MobilePhone(name=\"My Phone\", color=PURPLE)\n```\n\n### AndroidLogo\n\n```python\nandroid = AndroidLogo(color=GREEN)\n```\n\n### AppleLogo\n\n```python\napple = AppleLogo(color=WHITE)\n```\n\n### Database\n\n```python\ndatabase = Database(name=\"My Database\", color=BLUE)\n```\n\n### Cloud\n\n```python\ncloud = Cloud(name=\"My Cloud\", color=GRAY)\n```\n\n### Monitor\n\n```python\nmonitor = Monitor(name=\"My Monitor\", color=BLACK)\n```\n\n### TestTube\n\n```python\ntest_tube = TestTube(color=RED)\n```\n\n## Development\n\n### Environment Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/PierreOlivierBrillant/cs-manim.git\ncd cs-manim\n\n# Create a virtual environment\npython -m venv .venv\nsource .venv/bin/activate  # Linux/Mac\n# or .venv\\Scripts\\activate  # Windows\n\n# Install in development mode\npip install -e .[dev]\n```\n\n### Tests\n\n```bash\n# Run tests\npytest\n\n# With coverage\npytest --cov=cs_manim\n```\n\n### Formatting and linting\n\n```bash\n# Format the code\nblack cs_manim tests examples\n\n# Check style\nruff cs_manim tests examples\n\n# Check types\nmypy cs_manim\n```\n\n### Package building\n\n```bash\n# Build the package\npython -m build\n\n# Check the package\ntwine check dist/*\n```\n\n## Publishing\n\n### Prerequisites for publishing\n\n1. PyPI account (https://pypi.org/)\n2. PyPI API token configured\n3. All checks passed\n\n### Publishing steps\n\n1. **Update version** in `pyproject.toml`\n2. **Update CHANGELOG.md**\n3. **Create git tag**: `git tag v0.1.0`\n4. **Push the tag**: `git push origin v0.1.0`\n5. **Create release on GitHub**\n\nPublishing to PyPI happens automatically via GitHub Actions when creating a release.\n\n### Manual publishing\n\n```bash\n# Build the package\npython -m build\n\n# Publish to PyPI\ntwine upload dist/*\n```\n\n## Examples\n\nSee the `examples/` folder for usage examples.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for contribution instructions.\n\n## Dependencies\n\n- Python >= 3.10\n- Manim >= 0.19.0\n- Pillow >= 11.0.0\n- NumPy >= 1.24.0\n- SciPy >= 1.10.0\n\n## License\n\nMIT License - see the [LICENSE](LICENSE) file for details.\n\n## Author\n\nPierre-Olivier Brillant - pierreolivierbrillant@gmail.com\n\n## Links\n\n- [GitHub](https://github.com/PierreOlivierBrillant/cs-manim)\n- [PyPI](https://pypi.org/project/cs-manim/)\n- [Manim Documentation](https://docs.manim.community/)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Video animations with Manim to explain technical concepts related to computer science",
    "version": "0.1.4",
    "project_urls": {
        "Bug Tracker": "https://github.com/PierreOlivierBrillant/cs-manim/issues",
        "Homepage": "https://github.com/PierreOlivierBrillant/cs-manim",
        "Repository": "https://github.com/PierreOlivierBrillant/cs-manim"
    },
    "split_keywords": [
        "manim",
        " animation",
        " education",
        " computer-science",
        " visualization",
        " teaching"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b75b494aca0dc5891bac7b5fc521ad068bf3de4fefe5ebcc34ceaac604a899a7",
                "md5": "f5416167564fd9c40f3e8f61327b614f",
                "sha256": "fa9504d9c31aa4f7daa98acd1452d1d902c713b4fc754ddf5820037835f00857"
            },
            "downloads": -1,
            "filename": "cs_manim-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f5416167564fd9c40f3e8f61327b614f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 10758,
            "upload_time": "2025-07-21T23:37:41",
            "upload_time_iso_8601": "2025-07-21T23:37:41.641183Z",
            "url": "https://files.pythonhosted.org/packages/b7/5b/494aca0dc5891bac7b5fc521ad068bf3de4fefe5ebcc34ceaac604a899a7/cs_manim-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ff5d2f984dd54821e1e9d9a19bfd847bf247a3db088393b4c6b8748d23b34689",
                "md5": "3a92fdab74d0c58bff39d0ad8598fa7a",
                "sha256": "f2e370f4000e897be2f4e9085ec45238a2539430f9aef7d2174db4e99b11694c"
            },
            "downloads": -1,
            "filename": "cs_manim-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "3a92fdab74d0c58bff39d0ad8598fa7a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 11038,
            "upload_time": "2025-07-21T23:37:42",
            "upload_time_iso_8601": "2025-07-21T23:37:42.334999Z",
            "url": "https://files.pythonhosted.org/packages/ff/5d/2f984dd54821e1e9d9a19bfd847bf247a3db088393b4c6b8748d23b34689/cs_manim-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-21 23:37:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PierreOlivierBrillant",
    "github_project": "cs-manim",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cs-manim"
}
        
Elapsed time: 0.46823s