ideas-sandbox


Nameideas-sandbox JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
Summarysandbox framework
upload_time2024-10-17 14:29:42
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseM.IT License Copyright (c) 2024 David Coello Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords notes tool cli framework sandbox
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SANDBOX

After a few years trying different notes applications (notion, obsidian ...) I couldnt integrate any of then in my development workflow, in the end I ended going to my personal Github repos looking for an example of what I wanted and then copy paste it.

Not only look for my notes was a problem, to create new code notes was a mess, I use to write my code notes or snippets in Godbolt and then copy the code snippet into markdown or just add the Godbolt link into the note.

With this two use cases in mind:
- Look for owned examples on how to do a specific thing.
- Have an environment that allows me to create new ideas and things as small examples.

I decided to create my own tool that can fit my requirements:
- Flexible to be use with any programming language.
- Easy to integrate with any code editor so I can have godbolt like local experience.
- Easy to look for my ideas (code notes) so I can have my own list of examples always available.
- I am the proprietary of my ideas so I can store where I want whether it is a git repo or local folder.

With this in mind I did my first intent creating a neovim plugin that does exactly that and after few months using it I decided to port core logic to a cli tool easy to integrate with any code editor or terminal emulator so anybody interested can integrate it in his dev workflow.

# terms

Sandbox is a different way to take code notes and examples so from now on this doc I am going to use some terms that need definitions.

## idea

An idea is a self contain, one file, small code snippet or example that shows how to do something for example:

- how to configura logging module in python
- how to create a simple socket server in cpp
- how to deal with command line arguments in bash
- SOLID principles explanation in markdown

This ideas can be example but at the same time it is a sandbox, it is an environment ready for you to create new things, to test new ideas and exotic things and share it with your coleages.

## work idea

Is a new non saved idea, sandbox provides functionality to create a new work file where to start to create something fast, is up to you  to decide to store it or leave it, by default is not stored in your repository of ideas. This is because repository of ideas is somewhere you want to put something that will last and you will consult in the future not some kind of disaster that you tried to build a day without enough coffee.

Sandbox automates the creation of the file for an specific environment and the functionality to format it following a style guide and to execute it in the terminal. This functionallitiy is easy to use in the terminal but is easy to integrate in text editors as well.

## environment

An environment is the specific part of sandbox that knows how to deal with an specific programming language or knows how to do an specific thing related to an idea, each idea specifies its environment in the top metadata, more about this in configuration section.

# installation

For latest release:

```bash
pip install ideas-sandbox
```

For local version just build it and install .whl package:

```bash
pip install build

python3 -m build

pip install dist/*.whl --force-reinstall
```

# configuration

Defaults for sandbox are defined through environment variables, those defaults can be overridden through arguments but is handy to set it up:

```bash
export SANDBOX_IDEAS="path/to/your/ideas"
export SANDBOX_EDITOR="your favourite editor (neovim)"
export SANDBOX_CONF="path to your conf.toml file"
```

## SANDBOX_IDEAS

This env variable points to your ideas folder, is where you are going to store all your ideas (code notes), it is a good idea to make it a git repository so you keep track of all changes done there and you can make it available in any machine you want.

## SANDBOX_EDITOR

Sandbox have a use case that allows to open for edition an idea, this env var set ups the default editor, if this variable is not set it fallsback to vim.

## SANDBOX_CONF

Sandbox need to know wich environments do you need for your ideas codebase, this can be defined in a toml configuraion file.

This is one configuration example that supports python and cpp languages:

```toml
[cpp]
ext = "cpp"
execution = "g++ ${file_path} -o out && ./out && rm out"
format = "clang-format -i ${file_path}"
template = """// sandbox_idea:
// sandbox_name:
// sandbox_description:
// sandbox_env: cpp

#include <iostream>

int main(void) {
    std::cout << "Hello World!" << std::endl;
    return 0;
}"""

[python]
ext = "py"
execution = "python3 ${file_path}"
format = "autopep8 -i ${file_path}"
template = """# sandbox_idea: 
# sandbox_name: 
# sandbox_description: 
# sandbox_env: python

if __name__ == "__main__":
    print("Hello World!")
"""
```

you can add as much environments as you want, remember that you can always force an environment on an idea even if makes no sense, this opens a lot of possibilities, for example, an environment that batcats ideas:

```toml
[echo]
ext = ""
execution = "batcat ${file_path}"
format = ""
template = """"""
```

Only execution field is defined but, that is fine, echo env is not designed to be a main environment for an idea.

Other possible enviroments are for example:
- environment to create a pdf from md.
- environment to share an idea through Godbolt.
- environment to create a commit and push current idea.
- environment to render plantuml diagram.
- environment to run specific static analyzers on an idea.

# usage

Once installed you will be able to run `sandbox` command, check it like this:

```bash
➜  sandbox --help
usage: sandbox [-h] [-i IDEAS] {reset,open,save,execute} ...

sandbox framework

positional arguments:
  {reset,open,save,execute}

optional arguments:
  -h, --help            show this help message and exit
  -i IDEAS, --ideas IDEAS
                        ideas repo path
```

Optional argument `-i` is to override env var `SANDBOX_IDEAS`.

Positional arguments are the different use cases:

- **reset**: creates a new work idea of an specific environment.
- **open**: opens idea in text editor.
- **execute**: executes idea.
- **save**: saves work idea in ideas folder.

Each use case have its own arguments and its own help you can check it like this:

```bash
sandbox execute --help
```

## reset

Any time you have a new idea run this command, this is going to create a new work idea of the environment of your selection:

```bash
➜  sandbox reset --help
usage: sandbox reset [-h] -e ENV [-o OUTPUT]

optional arguments:
  -h, --help            show this help message and exit
  -e ENV, --env ENV     environment to use
  -o OUTPUT, --output OUTPUT
                        output work file
```

arguments:
- env: an environment is the "language support" to use, the implementation that knows how to format, execute and generate a template of idea.
- output: work idea file path, by default it fallbacks to your ideas repository defined in `SANDBOX_IDEAS`.

```bash
# you can specify where you want it
sandbox reset -e cpp -o . # this is going to generate cpp hello world in ./main.cpp
sandbox reset -e python -o . # this is going to generate python hello world in ./main.py
sandbox reset -e markdown -o . # this is going to generate an empty markdown file in ./main.md
sandbox reset -e bash -o . # this is going to generate bash hello world in ./main.sh

# by default will use ideas path
sandbox reset -e cpp # this is going to generate cpp hello world in ${SANDBOX_IDEAS}/main.cpp

# if you specify the ideas path is going to use the overridden one
sandbox -i ~/example reset -e cpp # this is going to generate cpp hello world in ~/example/main.cpp
```

If you use reset where you already have a work idea this command is going to delete the previous one, remember that a work idea is a fast way to write an idea and if it works or have potential you should save it and keep working from ideas repo.

## open

Open idea on work editor:

```bash
➜  sandbox open --help
usage: sandbox open [-h] [-e EDITOR] [-p PATH]

optional arguments:
  -h, --help            show this help message and exit
  -e EDITOR, --editor EDITOR
                        editor to use
  -p PATH, --path PATH  idea or directory path
  -w, --work_idea       open current work idea
```

Without arguments sandbox will open fzf in `SANDBOX_IDEAS` to choose one.

arguments:
- editor: override `SANDBOX_EDITOR`.
- path: override `SANDBOX_IDEAS`, you can also specify a file path and it will open directly the file and not a work idea on this path.
- work_idea: directly open work idea.

```bash
sandbox open # this will display fzf on SANDBOX_IDEAS
sandbox -i ~/example open # this will pen fzf on ~/example
sandbox open -p ./main.cpp # this will open ./main.cpp
sandbox open -p ./ # this will open fzf in ./
sandbox open -w # this will open ${SANDBOX_IDEAS}/main*
sandbox -i ~/example -w # this will open ~/example/main*
```

## execute

An `idea` is code note, is a small self contained example of code like a Godbolt example, if it is self contained it can be executed by its own, an idea environment is the environment that knows how to execute this specific idea.

```bash
➜  sandbox execute --help
usage: sandbox execute [-h] [-p PATH] [-e ENV]

optional arguments:
  -h, --help            show this help message and exit
  -p PATH, --path PATH  work file or ideas directory
  -e ENV, --env ENV     force specific env regardless file meta
```

Without arguments sandbox will open fzf in `SANDBOX_IDEAS` to choose one.

arguments:
- path: path of specific idea or directory.
- env: by default is going to use idea environment written in idea metadata but you can force an specific environment if you want, it is not guarantee that is going to work.

```bash
sandbox execute # this will open fzf on `SANDBOX_IDEAS` and execute the chosen one
sandbox execute -p ./main.cpp # this will execute ./main.cpp
sandbox execute -p ~/example # this will open fzf on ~/example
sandbox -i ~/example execute # this will open fzf on ~/example
sandbox execute -p ./main.cpp -e echo # this will execute ./main.cpp forcing echo environment
sandbox execute -p ./main.cpp -e python # this will try to execute ./main.cpp with python environment (it is not going to work)
sandbox execute -e echo # this will open fzf on `SANDBOX_IDEAS` and execute the chosen one forcing echo env
```

## save

When you create a new idea and this shows that actually have some value you can store it in your `SANDBOX_IDEAS` folder.

```bash
➜  sandbox save --help
usage: sandbox save [-h] -p PATH

optional arguments:
  -h, --help            show this help message and exit
  -p PATH, --path PATH  work file
```

By default save command is going to save work idea under your `SANDBOX_IDEAS` dir.

You can override your ideas dir or you can specify it or a file with `-p`.

arguments:
- path: specify idea path or directory path.

```bash
sandbox save # save work idea under SANDBOX_IDEAS
sandbox -i ~/example save # save work idea under ~/example
sandbox save -p ~/example # save work idea under ~/example
sandbox save -p ./main.cpp # save ./main.cpp
```

To save sandbox is going to read idea metadata, specifically:
- sandbox_idea: this is the path in ideas folder where is going to be saved
- sandbox_name: this is the name of the idea file that is going to be saved

Example:

```cpp
// sandbox_idea: cpp/basics
// sandbox_name: for_loop
// sandbox_description: example of for loop
// sandbox_env: cpp
```

Run sandbox save on this file will place the file in:

```bash
${SANDBOX_IDEAS}/cpp/basics/for_loop.cpp
```

Realize that due execute and open uses fzf folder where to store idea acts as a search filter.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ideas-sandbox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "notes, tool, cli, framework, sandbox",
    "author": null,
    "author_email": "dcoello-dev <dcpulido91@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/7b/27/cc552fe4dcf52d5f1e17be3981fa10390203c8ad9af1c637669e4366c516/ideas_sandbox-0.0.3.tar.gz",
    "platform": null,
    "description": "# SANDBOX\n\nAfter a few years trying different notes applications (notion, obsidian ...) I couldnt integrate any of then in my development workflow, in the end I ended going to my personal Github repos looking for an example of what I wanted and then copy paste it.\n\nNot only look for my notes was a problem, to create new code notes was a mess, I use to write my code notes or snippets in Godbolt and then copy the code snippet into markdown or just add the Godbolt link into the note.\n\nWith this two use cases in mind:\n- Look for owned examples on how to do a specific thing.\n- Have an environment that allows me to create new ideas and things as small examples.\n\nI decided to create my own tool that can fit my requirements:\n- Flexible to be use with any programming language.\n- Easy to integrate with any code editor so I can have godbolt like local experience.\n- Easy to look for my ideas (code notes) so I can have my own list of examples always available.\n- I am the proprietary of my ideas so I can store where I want whether it is a git repo or local folder.\n\nWith this in mind I did my first intent creating a neovim plugin that does exactly that and after few months using it I decided to port core logic to a cli tool easy to integrate with any code editor or terminal emulator so anybody interested can integrate it in his dev workflow.\n\n# terms\n\nSandbox is a different way to take code notes and examples so from now on this doc I am going to use some terms that need definitions.\n\n## idea\n\nAn idea is a self contain, one file, small code snippet or example that shows how to do something for example:\n\n- how to configura logging module in python\n- how to create a simple socket server in cpp\n- how to deal with command line arguments in bash\n- SOLID principles explanation in markdown\n\nThis ideas can be example but at the same time it is a sandbox, it is an environment ready for you to create new things, to test new ideas and exotic things and share it with your coleages.\n\n## work idea\n\nIs a new non saved idea, sandbox provides functionality to create a new work file where to start to create something fast, is up to you  to decide to store it or leave it, by default is not stored in your repository of ideas. This is because repository of ideas is somewhere you want to put something that will last and you will consult in the future not some kind of disaster that you tried to build a day without enough coffee.\n\nSandbox automates the creation of the file for an specific environment and the functionality to format it following a style guide and to execute it in the terminal. This functionallitiy is easy to use in the terminal but is easy to integrate in text editors as well.\n\n## environment\n\nAn environment is the specific part of sandbox that knows how to deal with an specific programming language or knows how to do an specific thing related to an idea, each idea specifies its environment in the top metadata, more about this in configuration section.\n\n# installation\n\nFor latest release:\n\n```bash\npip install ideas-sandbox\n```\n\nFor local version just build it and install .whl package:\n\n```bash\npip install build\n\npython3 -m build\n\npip install dist/*.whl --force-reinstall\n```\n\n# configuration\n\nDefaults for sandbox are defined through environment variables, those defaults can be overridden through arguments but is handy to set it up:\n\n```bash\nexport SANDBOX_IDEAS=\"path/to/your/ideas\"\nexport SANDBOX_EDITOR=\"your favourite editor (neovim)\"\nexport SANDBOX_CONF=\"path to your conf.toml file\"\n```\n\n## SANDBOX_IDEAS\n\nThis env variable points to your ideas folder, is where you are going to store all your ideas (code notes), it is a good idea to make it a git repository so you keep track of all changes done there and you can make it available in any machine you want.\n\n## SANDBOX_EDITOR\n\nSandbox have a use case that allows to open for edition an idea, this env var set ups the default editor, if this variable is not set it fallsback to vim.\n\n## SANDBOX_CONF\n\nSandbox need to know wich environments do you need for your ideas codebase, this can be defined in a toml configuraion file.\n\nThis is one configuration example that supports python and cpp languages:\n\n```toml\n[cpp]\next = \"cpp\"\nexecution = \"g++ ${file_path} -o out && ./out && rm out\"\nformat = \"clang-format -i ${file_path}\"\ntemplate = \"\"\"// sandbox_idea:\n// sandbox_name:\n// sandbox_description:\n// sandbox_env: cpp\n\n#include <iostream>\n\nint main(void) {\n    std::cout << \"Hello World!\" << std::endl;\n    return 0;\n}\"\"\"\n\n[python]\next = \"py\"\nexecution = \"python3 ${file_path}\"\nformat = \"autopep8 -i ${file_path}\"\ntemplate = \"\"\"# sandbox_idea: \n# sandbox_name: \n# sandbox_description: \n# sandbox_env: python\n\nif __name__ == \"__main__\":\n    print(\"Hello World!\")\n\"\"\"\n```\n\nyou can add as much environments as you want, remember that you can always force an environment on an idea even if makes no sense, this opens a lot of possibilities, for example, an environment that batcats ideas:\n\n```toml\n[echo]\next = \"\"\nexecution = \"batcat ${file_path}\"\nformat = \"\"\ntemplate = \"\"\"\"\"\"\n```\n\nOnly execution field is defined but, that is fine, echo env is not designed to be a main environment for an idea.\n\nOther possible enviroments are for example:\n- environment to create a pdf from md.\n- environment to share an idea through Godbolt.\n- environment to create a commit and push current idea.\n- environment to render plantuml diagram.\n- environment to run specific static analyzers on an idea.\n\n# usage\n\nOnce installed you will be able to run `sandbox` command, check it like this:\n\n```bash\n\u279c  sandbox --help\nusage: sandbox [-h] [-i IDEAS] {reset,open,save,execute} ...\n\nsandbox framework\n\npositional arguments:\n  {reset,open,save,execute}\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -i IDEAS, --ideas IDEAS\n                        ideas repo path\n```\n\nOptional argument `-i` is to override env var `SANDBOX_IDEAS`.\n\nPositional arguments are the different use cases:\n\n- **reset**: creates a new work idea of an specific environment.\n- **open**: opens idea in text editor.\n- **execute**: executes idea.\n- **save**: saves work idea in ideas folder.\n\nEach use case have its own arguments and its own help you can check it like this:\n\n```bash\nsandbox execute --help\n```\n\n## reset\n\nAny time you have a new idea run this command, this is going to create a new work idea of the environment of your selection:\n\n```bash\n\u279c  sandbox reset --help\nusage: sandbox reset [-h] -e ENV [-o OUTPUT]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -e ENV, --env ENV     environment to use\n  -o OUTPUT, --output OUTPUT\n                        output work file\n```\n\narguments:\n- env: an environment is the \"language support\" to use, the implementation that knows how to format, execute and generate a template of idea.\n- output: work idea file path, by default it fallbacks to your ideas repository defined in `SANDBOX_IDEAS`.\n\n```bash\n# you can specify where you want it\nsandbox reset -e cpp -o . # this is going to generate cpp hello world in ./main.cpp\nsandbox reset -e python -o . # this is going to generate python hello world in ./main.py\nsandbox reset -e markdown -o . # this is going to generate an empty markdown file in ./main.md\nsandbox reset -e bash -o . # this is going to generate bash hello world in ./main.sh\n\n# by default will use ideas path\nsandbox reset -e cpp # this is going to generate cpp hello world in ${SANDBOX_IDEAS}/main.cpp\n\n# if you specify the ideas path is going to use the overridden one\nsandbox -i ~/example reset -e cpp # this is going to generate cpp hello world in ~/example/main.cpp\n```\n\nIf you use reset where you already have a work idea this command is going to delete the previous one, remember that a work idea is a fast way to write an idea and if it works or have potential you should save it and keep working from ideas repo.\n\n## open\n\nOpen idea on work editor:\n\n```bash\n\u279c  sandbox open --help\nusage: sandbox open [-h] [-e EDITOR] [-p PATH]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -e EDITOR, --editor EDITOR\n                        editor to use\n  -p PATH, --path PATH  idea or directory path\n  -w, --work_idea       open current work idea\n```\n\nWithout arguments sandbox will open fzf in `SANDBOX_IDEAS` to choose one.\n\narguments:\n- editor: override `SANDBOX_EDITOR`.\n- path: override `SANDBOX_IDEAS`, you can also specify a file path and it will open directly the file and not a work idea on this path.\n- work_idea: directly open work idea.\n\n```bash\nsandbox open # this will display fzf on SANDBOX_IDEAS\nsandbox -i ~/example open # this will pen fzf on ~/example\nsandbox open -p ./main.cpp # this will open ./main.cpp\nsandbox open -p ./ # this will open fzf in ./\nsandbox open -w # this will open ${SANDBOX_IDEAS}/main*\nsandbox -i ~/example -w # this will open ~/example/main*\n```\n\n## execute\n\nAn `idea` is code note, is a small self contained example of code like a Godbolt example, if it is self contained it can be executed by its own, an idea environment is the environment that knows how to execute this specific idea.\n\n```bash\n\u279c  sandbox execute --help\nusage: sandbox execute [-h] [-p PATH] [-e ENV]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PATH, --path PATH  work file or ideas directory\n  -e ENV, --env ENV     force specific env regardless file meta\n```\n\nWithout arguments sandbox will open fzf in `SANDBOX_IDEAS` to choose one.\n\narguments:\n- path: path of specific idea or directory.\n- env: by default is going to use idea environment written in idea metadata but you can force an specific environment if you want, it is not guarantee that is going to work.\n\n```bash\nsandbox execute # this will open fzf on `SANDBOX_IDEAS` and execute the chosen one\nsandbox execute -p ./main.cpp # this will execute ./main.cpp\nsandbox execute -p ~/example # this will open fzf on ~/example\nsandbox -i ~/example execute # this will open fzf on ~/example\nsandbox execute -p ./main.cpp -e echo # this will execute ./main.cpp forcing echo environment\nsandbox execute -p ./main.cpp -e python # this will try to execute ./main.cpp with python environment (it is not going to work)\nsandbox execute -e echo # this will open fzf on `SANDBOX_IDEAS` and execute the chosen one forcing echo env\n```\n\n## save\n\nWhen you create a new idea and this shows that actually have some value you can store it in your `SANDBOX_IDEAS` folder.\n\n```bash\n\u279c  sandbox save --help\nusage: sandbox save [-h] -p PATH\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PATH, --path PATH  work file\n```\n\nBy default save command is going to save work idea under your `SANDBOX_IDEAS` dir.\n\nYou can override your ideas dir or you can specify it or a file with `-p`.\n\narguments:\n- path: specify idea path or directory path.\n\n```bash\nsandbox save # save work idea under SANDBOX_IDEAS\nsandbox -i ~/example save # save work idea under ~/example\nsandbox save -p ~/example # save work idea under ~/example\nsandbox save -p ./main.cpp # save ./main.cpp\n```\n\nTo save sandbox is going to read idea metadata, specifically:\n- sandbox_idea: this is the path in ideas folder where is going to be saved\n- sandbox_name: this is the name of the idea file that is going to be saved\n\nExample:\n\n```cpp\n// sandbox_idea: cpp/basics\n// sandbox_name: for_loop\n// sandbox_description: example of for loop\n// sandbox_env: cpp\n```\n\nRun sandbox save on this file will place the file in:\n\n```bash\n${SANDBOX_IDEAS}/cpp/basics/for_loop.cpp\n```\n\nRealize that due execute and open uses fzf folder where to store idea acts as a search filter.\n",
    "bugtrack_url": null,
    "license": "M.IT License  Copyright (c) 2024 David Coello  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "sandbox framework",
    "version": "0.0.3",
    "project_urls": {
        "Repository": "https://github.com/dcoello-dev/ideas-sandbox"
    },
    "split_keywords": [
        "notes",
        " tool",
        " cli",
        " framework",
        " sandbox"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa5622389211d4993afca02ea2b015488132e56a2d5898ec313d51e88cb165d1",
                "md5": "7b64c86ef789a76c2d445bf01bc89afa",
                "sha256": "ab9031518d41a2296334efe228486c638c9d04ea88767c59a8c769354c69589f"
            },
            "downloads": -1,
            "filename": "ideas_sandbox-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7b64c86ef789a76c2d445bf01bc89afa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 13685,
            "upload_time": "2024-10-17T14:29:41",
            "upload_time_iso_8601": "2024-10-17T14:29:41.034039Z",
            "url": "https://files.pythonhosted.org/packages/fa/56/22389211d4993afca02ea2b015488132e56a2d5898ec313d51e88cb165d1/ideas_sandbox-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b27cc552fe4dcf52d5f1e17be3981fa10390203c8ad9af1c637669e4366c516",
                "md5": "693f72afbcd603e8a43351c777c6b065",
                "sha256": "d8465d2a3e08ccb4eb1161ad729fb8a8ce5a3bad162e42adf0bac53582b5e4d0"
            },
            "downloads": -1,
            "filename": "ideas_sandbox-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "693f72afbcd603e8a43351c777c6b065",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10864,
            "upload_time": "2024-10-17T14:29:42",
            "upload_time_iso_8601": "2024-10-17T14:29:42.842872Z",
            "url": "https://files.pythonhosted.org/packages/7b/27/cc552fe4dcf52d5f1e17be3981fa10390203c8ad9af1c637669e4366c516/ideas_sandbox-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-17 14:29:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dcoello-dev",
    "github_project": "ideas-sandbox",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ideas-sandbox"
}
        
Elapsed time: 0.41017s