Name | colast JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | Utilities that assist development workflows on Google Colab |
upload_time | 2025-01-18 07:01:13 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.12,>=3.10 |
license | None |
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"
}