colast


Namecolast JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryUtilities that assist development workflows on Google Colab
upload_time2025-01-18 07:01:13
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.10
licenseNone
keywords colab github google cloud uv workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <h1><b>colast</b></h1>
  <p>
    Utilities that assist development workflows on Google Colab
  </p>

  <h4>
    <a href="https://colast.readthedocs.io">Documentation</a>
  <span> · </span>
    <a href="https://github.com/dd-n-kk/colast/issues/">Issues</a>
  </h4>
</div>


## About

- __colast__ is a small package that shares utility functions
  I find useful for my development workflows on [Google Colab](https://colab.google).

- Actually, this is also a semi-mock project that I use to learn Python open-source development.
  [Feedbacks, guidance, and feature suggestions](https://github.com/dd-n-kk/colast/issues/)
  are much appreciated!


## Usage

### Experimenting your private Python package on Colab

1. Develop your package any way you like and push it to your private GitHub repo.

2. Make a repo-specific [personal access token (PAT)](https://is.gd/qWZkuT).

3. Store the PAT as a [Colab Secret](https://stackoverflow.com/a/77737451):

    ![Colab Secrets demo](assets/imgs/colab_secrets.png)

4. On Colab:
    ```py
    import colast as A
    ```

    - Install → experiment → push → resintall:
      ```py
      # Install your private package
      A.install_gh("me/my_pkg", "dev", secret="my_token")

      # Experiment
      from my_pkg import foo
      foo()

      # (Push update accordingly to the development branch of your repo)

      # Reinstall updated package
      A.install_gh("me/my_pkg", "dev", secret="my_token")

      # Reimport updated functions/classes without needing to restart Colab session
      foo = A.reload(foo)
      foo()
      ```

    - Or clone → experiment → push → pull:
      ```py
      # Clone your private package and add it to `sys.path`
      A.clone_gh("me/my_pkg", "dev", opt="p", secret="my_token")

      # Experiment
      from my_pkg import foo
      foo()

      # (Push updates accordingly to the development branch of your repo)

      # Pull the update
      A.pull_gh("my_pkg")

      # Reimport updated functions/classes without needing to restart Colab session
      foo = A.reload(foo)
      foo()
      ```


## Dependencies & Installation

- Although currently colast lists no dependency,
  it is intended to __only be installed and used in a Google Colab environment__.
  The reason not to explicitly list dependencies for now is that
  at least one depedency ([`google-colab`](https://github.com/googlecolab/colabtools))
  is bespoke for Colab and not hosted on PyPI.
  However, colast is designed to install and run just fine on a fresh Colab instance.

- This package is currently (and will strive to be) a single-file package.
  Therefore you can use it quick and dirty by just downloading the module file:
  ``` { .yaml .copy }
  !wget https://github.com/dd-n-kk/colast/blob/main/src/colast/colast.py
  ```

- Still, you can install the package very quickly with the pre-installed uv on Colab:
  ``` { .yaml .copy }
  !uv pip install --system -qU colast
  ```
  Or with pip:
  ``` { .yaml .copy }
  %pip install -qU colast
  ```


## License

- [MIT license](https://github.com/dd-n-kk/colast/blob/main/LICENSE)


## Acknowledgements

- [uv](https://github.com/astral-sh/uv)
- [MkDocs](https://github.com/mkdocs/mkdocs)
- [Material for MkDocs](https://github.com/squidfunk/mkdocs-material)
- [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings)
- [Awesome Readme Template](https://github.com/Louis3797/awesome-readme-template)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "colast",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.10",
    "maintainer_email": null,
    "keywords": "Colab, GitHub, Google, cloud, uv, workflow",
    "author": null,
    "author_email": "dd-n-kk <djlstvn.cs03@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/9e/e6/3ab89f8a8e86c1e6f52d949df1a6f91e9afa67d48fb2f2f6f9e737617a1f/colast-0.1.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <h1><b>colast</b></h1>\n  <p>\n    Utilities that assist development workflows on Google Colab\n  </p>\n\n  <h4>\n    <a href=\"https://colast.readthedocs.io\">Documentation</a>\n  <span> \u00b7 </span>\n    <a href=\"https://github.com/dd-n-kk/colast/issues/\">Issues</a>\n  </h4>\n</div>\n\n\n## About\n\n- __colast__ is a small package that shares utility functions\n  I find useful for my development workflows on [Google Colab](https://colab.google).\n\n- Actually, this is also a semi-mock project that I use to learn Python open-source development.\n  [Feedbacks, guidance, and feature suggestions](https://github.com/dd-n-kk/colast/issues/)\n  are much appreciated!\n\n\n## Usage\n\n### Experimenting your private Python package on Colab\n\n1. Develop your package any way you like and push it to your private GitHub repo.\n\n2. Make a repo-specific [personal access token (PAT)](https://is.gd/qWZkuT).\n\n3. Store the PAT as a [Colab Secret](https://stackoverflow.com/a/77737451):\n\n    ![Colab Secrets demo](assets/imgs/colab_secrets.png)\n\n4. On Colab:\n    ```py\n    import colast as A\n    ```\n\n    - Install \u2192 experiment \u2192 push \u2192 resintall:\n      ```py\n      # Install your private package\n      A.install_gh(\"me/my_pkg\", \"dev\", secret=\"my_token\")\n\n      # Experiment\n      from my_pkg import foo\n      foo()\n\n      # (Push update accordingly to the development branch of your repo)\n\n      # Reinstall updated package\n      A.install_gh(\"me/my_pkg\", \"dev\", secret=\"my_token\")\n\n      # Reimport updated functions/classes without needing to restart Colab session\n      foo = A.reload(foo)\n      foo()\n      ```\n\n    - Or clone \u2192 experiment \u2192 push \u2192 pull:\n      ```py\n      # Clone your private package and add it to `sys.path`\n      A.clone_gh(\"me/my_pkg\", \"dev\", opt=\"p\", secret=\"my_token\")\n\n      # Experiment\n      from my_pkg import foo\n      foo()\n\n      # (Push updates accordingly to the development branch of your repo)\n\n      # Pull the update\n      A.pull_gh(\"my_pkg\")\n\n      # Reimport updated functions/classes without needing to restart Colab session\n      foo = A.reload(foo)\n      foo()\n      ```\n\n\n## Dependencies & Installation\n\n- Although currently colast lists no dependency,\n  it is intended to __only be installed and used in a Google Colab environment__.\n  The reason not to explicitly list dependencies for now is that\n  at least one depedency ([`google-colab`](https://github.com/googlecolab/colabtools))\n  is bespoke for Colab and not hosted on PyPI.\n  However, colast is designed to install and run just fine on a fresh Colab instance.\n\n- This package is currently (and will strive to be) a single-file package.\n  Therefore you can use it quick and dirty by just downloading the module file:\n  ``` { .yaml .copy }\n  !wget https://github.com/dd-n-kk/colast/blob/main/src/colast/colast.py\n  ```\n\n- Still, you can install the package very quickly with the pre-installed uv on Colab:\n  ``` { .yaml .copy }\n  !uv pip install --system -qU colast\n  ```\n  Or with pip:\n  ``` { .yaml .copy }\n  %pip install -qU colast\n  ```\n\n\n## License\n\n- [MIT license](https://github.com/dd-n-kk/colast/blob/main/LICENSE)\n\n\n## Acknowledgements\n\n- [uv](https://github.com/astral-sh/uv)\n- [MkDocs](https://github.com/mkdocs/mkdocs)\n- [Material for MkDocs](https://github.com/squidfunk/mkdocs-material)\n- [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings)\n- [Awesome Readme Template](https://github.com/Louis3797/awesome-readme-template)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Utilities that assist development workflows on Google Colab",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://colast.readthedocs.io",
        "Homepage": "https://github.com/dd-n-kk/colast",
        "Issues": "https://github.com/dd-n-kk/colast/issues"
    },
    "split_keywords": [
        "colab",
        " github",
        " google",
        " cloud",
        " uv",
        " workflow"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c8ffbf821ce7eedceedea4e59b606eaa0ece71260df62488c8b8a0310c2e9a7a",
                "md5": "404e4d602260e7731559abff51ab3931",
                "sha256": "3d361d5d6c36ef6ca58579afd3f70879929e0549fa8d2816dcc562af0a6de2f7"
            },
            "downloads": -1,
            "filename": "colast-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "404e4d602260e7731559abff51ab3931",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.10",
            "size": 8652,
            "upload_time": "2025-01-18T07:01:11",
            "upload_time_iso_8601": "2025-01-18T07:01:11.737416Z",
            "url": "https://files.pythonhosted.org/packages/c8/ff/bf821ce7eedceedea4e59b606eaa0ece71260df62488c8b8a0310c2e9a7a/colast-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9ee63ab89f8a8e86c1e6f52d949df1a6f91e9afa67d48fb2f2f6f9e737617a1f",
                "md5": "05ee5026f946e04e4255634d97a73560",
                "sha256": "b04c46dab695532a2acde64ca556a8fae67b5e7fbbda8e2ad2db94d9f56a865d"
            },
            "downloads": -1,
            "filename": "colast-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "05ee5026f946e04e4255634d97a73560",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.10",
            "size": 65924,
            "upload_time": "2025-01-18T07:01:13",
            "upload_time_iso_8601": "2025-01-18T07:01:13.439120Z",
            "url": "https://files.pythonhosted.org/packages/9e/e6/3ab89f8a8e86c1e6f52d949df1a6f91e9afa67d48fb2f2f6f9e737617a1f/colast-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-18 07:01:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dd-n-kk",
    "github_project": "colast",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "colast"
}
        
Elapsed time: 0.40815s