{"id":16389613,"url":"https://github.com/yuce/picon","last_synced_at":"2025-10-26T13:30:40.148Z","repository":{"id":62916508,"uuid":"94591050","full_name":"yuce/picon","owner":"yuce","description":"Pilosa Console","archived":false,"fork":false,"pushed_at":"2017-07-14T05:24:49.000Z","size":34,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-20T12:38:28.330Z","etag":null,"topics":["console","go","pilosa"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-17T00:41:30.000Z","updated_at":"2024-06-20T12:38:28.331Z","dependencies_parsed_at":"2022-11-09T04:00:31.706Z","dependency_job_id":null,"html_url":"https://github.com/yuce/picon","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuce%2Fpicon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuce%2Fpicon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuce%2Fpicon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuce%2Fpicon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuce","download_url":"https://codeload.github.com/yuce/picon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219862888,"owners_count":16555951,"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":["console","go","pilosa"],"created_at":"2024-10-11T04:33:46.774Z","updated_at":"2025-10-26T13:30:39.869Z","avatar_url":"https://github.com/yuce.png","language":"Go","funding_links":[],"categories":["Software"],"sub_categories":["Tools"],"readme":"# PiCon\n\n\u003ca href=\"https://github.com/pilosa\"\u003e\u003cimg src=\"https://img.shields.io/badge/pilosa-v0.4.0-blue.svg\"\u003e\u003c/a\u003e\n\u003cimg src=\"https://c1.staticflickr.com/9/8754/16788993048_af85d47b1b_z.jpg\" style=\"float: right\" align=\"right\" height=\"180\"\u003e\n\nSimple console for [Pilosa](https://www.pilosa.com/) high performance distributed bitmap index.\n\nThis app uses JSON API of Pilosa directly for queries and the official [Go client](https://github.com/pilosa/go-pilosa) for everything else (e.g., creating indexes, frames, ...).\n\nBelow is a screencast that shows how it works:\n\u003ca href=\"https://asciinema.org/a/1xq1wbwku38bo96jqx0coxql0\" target=\"_blank\"\u003e\u003cimg src=\"https://asciinema.org/a/1xq1wbwku38bo96jqx0coxql0.png\" /\u003e\u003c/a\u003e\n\n## Change Log\n\n* **0.2.0** (2017-06-17)\n    * Initial public version\n\n## Dependencies\n\n* [Pilosa Go Client](https://github.com/pilosa/go-pilosa)\n* [Readline](https://github.com/chzyer/readline)\n* [Go Pretty JSON](github.com/hokaccha/go-prettyjson)\n\n## Build\n\nGo 1.8 or higher is needed. UNIX and Windows platforms are supported.\n\nMake sure `go` is on the path and run:\n```\ngo get github.com/yuce/picon/cmd/picon\ngo install github.com/yuce/picon/cmd/picon\n```\n\n## Usage\n\nYou can run the console with `picon`.\n\n- Commands start with `:`.\n- To get a list of commands, hit `:` and then `Tab`.\n- To exit, you can type `:exit` or hit `Ctrl+D`.\n- Notes start with `#`.\n- Queries can be run directly.\n- In order to enter multiline commands/queries, finish a line with backslash (`\\`).\n- Up/down arrow keys can be used to access the history.\n- Hit tab for PQL call completion.\n- `:use` command supports index name completion.\n- `:connect` command supports address completion using the history.\n- If a command is made up of more than one word, they can be autocompleted.\n- See the [keyboard shortcuts](https://github.com/chzyer/readline/blob/master/doc/shortcut.md) you can use.\n\nSample workflow:\n\n```\n\u003e :connect :10101\n\u003e :ensure index myindex col=col_id\n\u003e :ensure frame myframe inverse=true\n\u003e SetBit(frame='myframe', rowID=1, col_id=100)\n\u003e Bitmap(frame='myframe', rowID=1)\n... Some output\n```\n\n### Available commands\n\n* `:connect`: Connect to the Pilosa server. Usage: `:connect pilosa-address`.\n* `:create`: Create an index or a frame. Usage: `:create {index | frame} name [option1=value1, ...]`.\n* `:delete`: Delete an index or a frame. Usage: `:delete {index | frame} name1, ...`.\n* `:ensure`: Ensure that an index or a frame exists. Usage: `:ensure {index | frame} name [option1=value1, ...]`.\n* `:http`: Send a raw HTTP request to the server. See: [API Documentation](https://www.pilosa.com/docs/api-reference/). Usage: `:http method path [data]`.\n* `:schema`: Display the scheme (indexes and frames) on the server. Usage: `:schema`.\n* `:use`: Open an index. Usage: `:use index-name`.\n\n`:create index` and `:ensure index` commands support the following options:\n* `column_label`, `columnLabel`, `col`, `c`\n* `time_quantum`, `timeQuantum`, `time`, `t`\n\n`:create frame` and `:ensure frame` commands support the following options:\n* `row_label`, `rowLabel`, `row`, `r`\n* `time_quantum`, `timeQuantum`, `time`, `t`\n* `inverse_enabled`, `inverseEnabled`, `inverse`, `i`.\n\nYou can use `true`, `t` or `1` for true value; `false`, `f` or `0` false value.\n\n### Queries\n\nAny valid PQL query can be executed directly. See: [PQL Documentation](https://www.pilosa.com/docs/query-language/)\n\n## License\n\n```\nCopyright 2017 Yuce Tekol\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\ncontributors may be used to endorse or promote products derived\nfrom this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND\nCONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuce%2Fpicon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuce%2Fpicon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuce%2Fpicon/lists"}