{"id":27949267,"url":"https://github.com/haleshot/marimo-tutorials","last_synced_at":"2025-05-07T15:21:20.444Z","repository":{"id":244166268,"uuid":"806023743","full_name":"Haleshot/marimo-tutorials","owner":"Haleshot","description":"Collection of marimo tutorials which encompass notebook/app examples in varying domains - CS/AI/ML","archived":false,"fork":false,"pushed_at":"2025-03-09T15:42:42.000Z","size":37544,"stargazers_count":27,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-01T18:50:18.449Z","etag":null,"topics":["artificial-intelligence","computer-vision","data-science","image-processing","jax","llm","machine-learning","marimo","marimo-notebook","pytorch","recommender-system","tensorflow"],"latest_commit_sha":null,"homepage":"https://marimo.io/c/@haleshot/marimo-tutorials","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Haleshot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-26T06:38:03.000Z","updated_at":"2025-04-11T14:04:47.000Z","dependencies_parsed_at":"2024-08-24T12:45:21.956Z","dependency_job_id":"8cfc17b0-faa7-48ff-9793-b9a917c06c04","html_url":"https://github.com/Haleshot/marimo-tutorials","commit_stats":null,"previous_names":["haleshot/marimo-tutorials"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haleshot%2Fmarimo-tutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haleshot%2Fmarimo-tutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haleshot%2Fmarimo-tutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haleshot%2Fmarimo-tutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Haleshot","download_url":"https://codeload.github.com/Haleshot/marimo-tutorials/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252902720,"owners_count":21822289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","computer-vision","data-science","image-processing","jax","llm","machine-learning","marimo","marimo-notebook","pytorch","recommender-system","tensorflow"],"created_at":"2025-05-07T15:21:19.722Z","updated_at":"2025-05-07T15:21:20.428Z","avatar_url":"https://github.com/Haleshot.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/Haleshot/marimo-tutorials/main/community-tutorials-banner.png\" alt=\"marimo-tutorials Community Banner\"\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003eInteractive Tutorials and Notebooks for marimo\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://marimo.io/c/@haleshot/marimo-tutorials\"\u003e\u003cimg alt=\"Open in marimo\" src=\"https://marimo.io/shield.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Haleshot/marimo-tutorials/blob/main/LICENSE\"\u003e\u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Haleshot/marimo-tutorials/blob/main/CONTRIBUTING.md\"\u003e\u003cimg alt=\"Contributing\" src=\"https://img.shields.io/badge/Contributions-Welcome-brightgreen.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Haleshot/marimo-tutorials/blob/main/CODE_OF_CONDUCT.md\"\u003e\u003cimg alt=\"Code of Conduct\" src=\"https://img.shields.io/badge/Code%20of%20Conduct-v1.0-ff69b4.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Haleshot/marimo-tutorials\"\u003e\u003cimg alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/Haleshot/marimo-tutorials?style=social\"\u003e\u003c/a\u003e\n\u003c!--   \u003ca href=\"https://discord.gg/JE7nhX6mD8\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1234567890?color=7389D8\u0026label=Discord\u0026logo=discord\u0026logoColor=ffffff\"\u003e\u003c/a\u003e --\u003e\n  \u003ca href=\"https://discord.gg/JE7nhX6mD8\"\u003e\u003cimg src=\"https://shields.io/discord/1059888774789730424\" alt=\"discord\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# marimo-tutorials\n\nWelcome to `marimo-tutorials`, a comprehensive collection of interactive\nnotebooks and tutorials showcasing the power and versatility of\n[marimo](https://marimo.io), an innovative Python notebook framework. This\nrepository serves as a hub for learning, exploration and community engagement\nacross various domains of computer science, data science, AI, and more.\n\n## Table of Contents\n\n-   [About](#about)\n-   [Getting Started](#getting-started)\n-   [Featured Notebooks](#featured-notebooks)\n-   [Community Spotlights](#community-spotlights)\n-   [Contributing](#contributing)\n-   [License](#license)\n-   [Contact](#contact)\n\n## About\n\n`marimo-tutorials` is designed to provide a rich learning experience for both\nbeginners and advanced users of marimo. Our collection spans multiple\ndisciplines, offering hands-on examples, in-depth tutorials, and real-world\napplications of marimo's capabilities.\n\n\u003c!---\n## Repository Structure\n\n```\nmarimo-tutorials/\n│\n├── .github/\n├── apps/\n├── docs/\n├── env/\n├── marimo-tutorials/\n│   ├── artificial-intelligence/\n│   │   └── recommendation-systems/\n│   │       └── collaborative-filtering/\n│   ├── assets/\n│   ├── computer-science/\n│   ├── Data-Science/\n│   ├── Evolutionary-Computing/\n│   ├── signal-image-processing/\n│   │   ├── image-processing/\n│   │   └── signal-processing/\n│   ├── Software-Engineering/\n│   └── Tutorials/\n├── __pycache__/\n├── .gitignore\n├── CODE_OF_CONDUCT.md\n├── CONTRIBUTING.md\n├── init.py\n├── LICENSE\n├── preprocessed_books.csv\n├── README.md\n└── requirements.txt\n```\n--\u003e\n\nEach subdirectory within `marimo-tutorials/` contains domain-specific\nnotebooks, along with their respective README files and assets.\n\n## Getting Started\n\nTo get started with the notebooks in this repository, you'll need to have\nmarimo installed. We recommend using [`uv`](https://github.com/astral-sh/uv)\nfor managing dependencies and running notebooks in isolated environments.\n\n1. Install [`uv`](https://github.com/astral-sh/uv) if you haven't already:\n\n    ```shell\n    pip install uv\n    ```\n\n2. Clone this repository:\n\n    ```shell\n    git clone https://github.com/Haleshot/marimo-tutorials.git\n    cd marimo-tutorials\n    ```\n\n3. To run a notebook with its dependencies in an isolated environment:\n\n    ```shell\n    uvx marimo run --sandbox path/to/notebook.py\n    ```\n\n4. To edit a notebook:\n    ```shell\n    uvx marimo edit --sandbox path/to/notebook.py\n    ```\n\n### Isolated Environments with marimo\n\nAs highlighted in the\n[marimo blog](https://marimo.io/blog/sandboxed-notebooks), it's now possible to\ncreate marimo notebooks that have their package requirements serialized into\nthem as a top-level comment. Given a notebook with inlined requirements, marimo\ncan run it in an isolated virtual environment with a single command:\n\n```shell\nmarimo edit --sandbox notebook.py\n```\n\nThis creates a fresh virtual environment, or sandbox, and installs the\ndependencies before opening the notebook. marimo's opt-in package management\nfeatures can even track imports and automatically add them to your notebook's\ninlined requirements. This means you can create and share standalone notebooks\nwithout shipping `requirements.txt` files alongside them.\n\n## Featured Notebooks\n\nHere are some featured notebooks from our collection:\n\n\u003e [!NOTE]\n\u003e The links given below will be updated soon, they are intended as placeholders to showcase the structure of our README file.\n\n### Artificial Intelligence\n\n\u003ctable border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"marimo-tutorials/artificial-intelligence/recommendation-systems/collaborative-filtering/\"\u003e\n        \u003cimg src=\"assets/collaborative-filtering.png\" style=\"max-height: 150px; width: auto; display: block\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"https://github.com/Haleshot/marimo-tutorials/tree/main/marimo-tutorials/artificial-intelligence/machine-learning\"\u003e\n        \u003cimg src=\"assets/machine-learning.png\" style=\"max-height: 150px; width: auto; display: block\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"marimo-tutorials/artificial-intelligence/recommendation-systems/collaborative-filtering/\"\u003eCollaborative Filtering\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/Haleshot/marimo-tutorials/tree/main/marimo-tutorials/artificial-intelligence/machine-learning\"\u003eMachine Learning\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"https://marimo.io/p/@placeholder/collaborative-filtering\"\u003e\n        \u003cimg src=\"https://marimo.io/shield.svg\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"https://marimo.io/p/@placeholder/machine-learning\"\u003e\n        \u003cimg src=\"https://marimo.io/shield.svg\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Data Science\n\n\u003ctable border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"marimo-tutorials/Data-Science/Exploratory-Data-Analysis/\"\u003e\n        \u003cimg src=\"assets/exploratory-data-analysis.png\" style=\"max-height: 150px; width: auto; display: block\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"marimo-tutorials/Data-Science/Exploratory-Data-Analysis/\"\u003eExploratory Data Analysis\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"https://marimo.io/p/@placeholder/exploratory-data-analysis\"\u003e\n        \u003cimg src=\"https://marimo.io/shield.svg\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Signal and Image Processing\n\n\u003ctable border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"marimo-tutorials/signal-image-processing/image-processing/\"\u003e\n        \u003cimg src=\"assets/image-processing.png\" style=\"max-height: 150px; width: auto; display: block\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"marimo-tutorials/signal-image-processing/signal-processing/\"\u003e\n        \u003cimg src=\"assets/signal-processing.png\" style=\"max-height: 150px; width: auto; display: block\" /\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"marimo-tutorials/signal-image-processing/image-processing/\"\u003eImage Processing\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"marimo-tutorials/signal-image-processing/signal-processing/\"\u003eSignal Processing\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"https://marimo.io/p/@placeholder/image-processing\"\u003e\n        \u003cimg src=\"https://marimo.io/shield.svg\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca target=\"_blank\" href=\"https://marimo.io/p/@placeholder/signal-processing\"\u003e\n        \u003cimg src=\"https://marimo.io/shield.svg\"/\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Community Spotlights\n\nWhile this repository hosts a variety of tutorials and notebooks, the official\ncommunity spotlights are featured in a separate repository:\n[marimo-team/spotlights](https://github.com/marimo-team/spotlights).\n\n\u003e [!NOTE]\n\u003e\n\u003e The spotlights repository features a project or marimo notebook from\n\u003e the community every Thursday. If you've created a notebook in this repository\n\u003e that you believe would be a good fit for the community spotlight, feel free\n\u003e to open an [issue](https://github.com/marimo-team/spotlights/issues) in the\n\u003e spotlights repository.\n\n## Notebook Structure\n\nAll notebooks in this repository follow a uniform structure defined in the\n`init.py` file. This structure ensures consistency across tutorials and makes\nit easier for users to navigate and understand the content. Key elements of\nthis structure include:\n\n-   Standard import statements\n-   Configuration settings\n-   Helper functions\n-   Main content sections\n-   Interactive elements\n\nBy adhering to this template, contributors can focus on creating high-quality\ncontent while maintaining a consistent user experience across all tutorials.\n\n## Contributing\n\nWe welcome contributions from the community! Whether it's adding new tutorials,\nimproving existing ones, or suggesting new features, your input is valuable.\nPlease read our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to\ncontribute.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Contact\n\nFor questions, suggestions or support, please open an issue in this repository\nor reach out to us (maintainers) through our community channels:\n\nmarimo socials:\n\n-   LinkedIn: [marimo LinkedIn](https://www.linkedin.com/company/marimo-io/)\n-   Twitter: [@marimo_io](https://twitter.com/marimo_io)\n-   Discord (proj-marimo-tutorials-channel):\n    [marimo community](https://discord.gg/JE7nhX6mD8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaleshot%2Fmarimo-tutorials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaleshot%2Fmarimo-tutorials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaleshot%2Fmarimo-tutorials/lists"}