{"id":16251537,"url":"https://github.com/pfalcon/notes-pico","last_synced_at":"2025-07-11T10:04:18.559Z","repository":{"id":18827978,"uuid":"22043261","full_name":"pfalcon/notes-pico","owner":"pfalcon","description":"Flask Notes sample application ported to the Pycopy's picoweb web micro-framework","archived":false,"fork":false,"pushed_at":"2019-08-21T17:19:39.000Z","size":39,"stargazers_count":36,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-03T06:06:18.526Z","etag":null,"topics":["micropython","pycopy","webapp"],"latest_commit_sha":null,"homepage":"http://charlesleifer.com/blog/saturday-morning-hack-a-little-note-taking-app-with-flask/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pfalcon.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-20T20:58:16.000Z","updated_at":"2024-11-12T05:30:40.000Z","dependencies_parsed_at":"2022-08-07T09:00:58.921Z","dependency_job_id":null,"html_url":"https://github.com/pfalcon/notes-pico","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pfalcon/notes-pico","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fnotes-pico","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fnotes-pico/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fnotes-pico/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fnotes-pico/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfalcon","download_url":"https://codeload.github.com/pfalcon/notes-pico/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fnotes-pico/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264780695,"owners_count":23662702,"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":["micropython","pycopy","webapp"],"created_at":"2024-10-10T15:10:31.052Z","updated_at":"2025-07-11T10:04:18.519Z","avatar_url":"https://github.com/pfalcon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"notes-pico\n==========\n\nNotes Pico is a simple note-taking web application. It was originally\nwritten by Charles Leifer as a demo of how to write a simple, but slick\nweb application using the Flask web micro-framework. The application is\ndescribed in the blog post\nhttp://charlesleifer.com/blog/saturday-morning-hack-a-little-note-taking-app-with-flask/\n. Notes Pico is a port of this application to the\n[Picoweb](https://github.com/pfalcon/picoweb/) web pico-framework\nfor Pycopy (https://github.com/pfalcon/pycopy), a minimalist Python\nimplementation. It was ported by Paul Sokolovsky.\n\n\nDeploying on Pycopy \"Unix\" version\n----------------------------------\n\nTo install and run the application, you should install Pycopy\n\"Unix\" port as described at https://github.com/pfalcon/pycopy .\nOnce you have ``pycopy`` executable in your PATH (recommended, but\nnot strictly necessary), change directory to where you want to install\nthe app (``~/tmp/`` should be good for a quick test) and install\n``notes-pico`` package::\n\n    pycopy -m upip install -p app notes-pico\n\n``app`` (argument of ``-p`` option) is a subdirectory into which to\ninstall the application. To run the app, execute::\n\n    MICROPYPATH=app pycopy -m notes_pico\n\nThis will initialize note storage and output a URL to open in a browser::\n\n    * Running on http://127.0.0.1:8081/\n\nOpen the link and start adding notes (after typing text press \"Add note\"\nbutton or press Ctrl+Enter). Note that Picoweb port is intended to be\nsimple and low-resource, so supports only plain-text notes, unlike the\noriginal Flask application.\n\n\nDeploying on embedded Pycopy targets\n------------------------------------\n\nNotes Pico can also run on \"embedded\" (microcontroller) Pycopy\ntargets with networking capabilities and suitable heap size (TBC).\nAs Notes Pico is full-stack application and contains relatively a\nlot of code, the only realistic way to deploy it on such systems is\nusing \"frozen bytecode\" approach, where pre-compiled Python modules\nare made part of the binary firmware image to flash on the target.\nInstructions below use Pycopy ESP8266 port as an example.\n\n1. ``cd pycopy/ports/esp8266``\n2. ``pycopy -m upip install -p modules notes-pico``\n3. ``make``\n4. ``make deploy`` (see README in the directory for more params)\n5. Boot ESP8266 module, run following commands at the device prompt.\n6. ``import notes_pico.__main__``\n7. ``notes_pico.__main__.main(host=\"0.0.0.0\")``\n8. Connect with a web browser to http://`DEVICE_IP`:8081, where\n   `DEVICE_IP` is an IP address of ESP8266 device. (Consult Pycopy\n   ESP8266 port documentation for network connection setup.)\n\n\nStorage backends\n----------------\n\nNotes Pico supports 3 storage backends:\n\n* BTree\n* Filesystem\n* SQLite3\n\nAs a first step towards portability to Pycopy microcontroller\nversions, the default backend for the package installed from PyPI\nvia the commands in the previous section is BTree database. The\nnotes are stored in ``notes.db`` database file of the current\ndirectory, in BerkeleyDB 1.x format.\n\nIf you would like to try filesystem/SQLite3 backend, you'll need to\ncheckout https://github.com/pfalcon/notes-pico and edit file\n``notes_pico/config.py``. The repository has a convenience\nMakefile to install dependencies and run the application, similar\nto the effect achieved by the commands above.\n\n\nKnown issues and limitations\n----------------------------\n\nAs mentioned above, Picoweb port of the application supports only\nplain-text notes, no formatting, images or videos.\n\nEmbedded targets support is experimental, added in version 0.8.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfalcon%2Fnotes-pico","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfalcon%2Fnotes-pico","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfalcon%2Fnotes-pico/lists"}