{ "info": { "author": "Bart Thate", "author_email": "bthate@dds.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: Unix", "Programming Language :: Python", "Topic :: Utilities" ], "description": "\nOBJ.SERVER.REST is a package part of the OBJ namespace. It provides as REST server to serve OBJ json files over HTTP.\n\nOBJ is a pure python package that provides an object class that can save/load objects in JSON format to disk.\nFiles are saved with a timestamp in their filename, so searching in a time related manner becomes possible.\n\nOBJ has a \"no-clause MIT license\" that should be the most liberal license you can get at the year 2018.\n\n| pypi: https://pypi.org/project/obj | source: http://bitbucket.org/bthate/obj | email: bthate@dds.nl\n\nmodules\n=======\n\nOBJ contains the following modules:\n\n::\n\n base\t\t- the base module containing the Object class providing load/save to JSON functionality.\n bots\t\t- bots package.\n bus\t\t- send text to a list of registered handlers.\n cli\t\t- the command line interface bot giving access to the bot from the shell.\n cmds\t\t- commands subpackage containing the above listed commands.\n db\t\t- database functionality that can search through objects stored on disk.\n event\t\t- the Event class generated on bots when data is read from the socket.\n handler\t- the event handler of the bot.\n loader\t\t- Loader class to load modules from ob space into the program.\n shell\t\t- shell related startup, cli arguments parsing and logging.\n thr\t\t- thread module to launch, kill threads.\n users\t\t- provides user management code.\n\nusage\n=====\n\nThe basic class is Object that inherits from object and add load/save methods to a standard object:\n\n >>> from obj.base import Object\n >>> o = Object()\n >>> p = o.save()\n >>> oo = Object()\n >>> oo.load(p) \n >>> o == oo\n >>> True\n\nNext class is Obj, a dict combined with Object provides a usable \"dotted access\" dict:\n\n >>> from obj.base import Obj\n >>> o = Obj()\n >>> o.test = \"test1\"\n >>> p = o.save()\n >>> oo = Obj()\n >>> oo.load(p)\n >>> oo.test == \"test1\"\n >>> True\n\nshell\n=====\n\nYou can get a OBJ shell working by running python3 -m obj.bots.shell.\n\nOBJ shell has the following commands::\n\n cfg\t\t- show config files.\n cmds\t\t- show list of commands.\n deleted\t- show deleted objects.\n ed\t\t- edit saved objects.\n exit\t\t- stop the CLI.\n find\t\t- find objects in the datastore.\n fleet\t\t- show list of registered handlers.\n kill\t\t- stop a thread.\n last\t\t- show last record of a object.\n load\t\t- load a module.\n log\t\t- log some text.\n ls\t\t- list subdirectories in the workdir.\n meet\t\t- add a user\n perm\t\t- change permissions of a user.\n ps\t\t- show running threads.\n reboot\t\t- reboot the CLI.\n rm\t\t- set the deleted flag on an object.\n rmperm\t\t- remove permissions.\n test\t\t- echo test response.\n todo\t\t- store a todo item.\n unload\t\t- unload a module.\n uptime \t- show uptime.\n user\t\t- user lookup.\n version\t- show OBJ version.\n\nprogramming\n===========\n\nProgramming your own commands for the CLI is easy, your can load modules with the -m option.\nA command is a function with one argument, the event that was generated on the bot::\n\n def mycommand(event):\n\n <<< your code here >>>\n\nYou can use event.reply() to send response back to the user.\n\n \n ", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/bthate/obj.server.rest", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "obj.server.rest", "package_url": "https://pypi.org/project/obj.server.rest/", "platform": "", "project_url": "https://pypi.org/project/obj.server.rest/", "project_urls": { "Homepage": "https://bitbucket.org/bthate/obj.server.rest" }, "release_url": "https://pypi.org/project/obj.server.rest/4/", "requires_dist": null, "requires_python": "", "summary": "OBJ REST server", "version": "4" }, "last_serial": 4403967, "releases": { "1": [ { "comment_text": "", "digests": { "md5": "684b21fb94fc0200286337ea7ab0b1db", "sha256": "d2952b00c933d36712aef2c0660b0e514d19f1b73a48f9d11ec630b461efc80c" }, "downloads": -1, "filename": "obj.server.rest-1.tar.gz", "has_sig": false, "md5_digest": "684b21fb94fc0200286337ea7ab0b1db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5562, "upload_time": "2018-09-29T17:34:14", "url": "https://files.pythonhosted.org/packages/30/7e/ea007ea793f624d51c04400df7734a9611d38b54fe827c42f3aa195c2ab2/obj.server.rest-1.tar.gz" } ], "2": [ { "comment_text": "", "digests": { "md5": "d635e24caed461ded15a2e6f5e64f2b2", "sha256": "d0ba7d6daaacda0cb7da4a00122b4f36a443401d658df064536bb299baa1fffb" }, "downloads": -1, "filename": "obj.server.rest-2.tar.gz", "has_sig": false, "md5_digest": "d635e24caed461ded15a2e6f5e64f2b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5867, "upload_time": "2018-10-11T12:02:42", "url": "https://files.pythonhosted.org/packages/d1/89/cea422dc37235558de6801b325fae0987c49641791e7c790601825e3ae07/obj.server.rest-2.tar.gz" } ], "3": [ { "comment_text": "", "digests": { "md5": "486a0f54e13b823e025c417fae7db35a", "sha256": "994923cb1767d496094c384270063b1928f816e8ffb370d337b1794fe009a859" }, "downloads": -1, "filename": "obj.server.rest-3.tar.gz", "has_sig": false, "md5_digest": "486a0f54e13b823e025c417fae7db35a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5879, "upload_time": "2018-10-12T11:45:22", "url": "https://files.pythonhosted.org/packages/c9/6c/f43195568c885e8672d734d11669ed22aebdf5fed19f5142566dedb8b19f/obj.server.rest-3.tar.gz" } ], "4": [ { "comment_text": "", "digests": { "md5": "4db199d8c38b2d830c96dba800878acd", "sha256": "63f7110f4a10bd41d4174dc6c794e25e062bbf3c087209f1224de3f2010bf794" }, "downloads": -1, "filename": "obj.server.rest-4.tar.gz", "has_sig": false, "md5_digest": "4db199d8c38b2d830c96dba800878acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5370, "upload_time": "2018-10-22T21:48:04", "url": "https://files.pythonhosted.org/packages/3d/6a/3945edd0e71fdc46fc25f9368b6c8fef64494172a9a4e80681ec634d7bb9/obj.server.rest-4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4db199d8c38b2d830c96dba800878acd", "sha256": "63f7110f4a10bd41d4174dc6c794e25e062bbf3c087209f1224de3f2010bf794" }, "downloads": -1, "filename": "obj.server.rest-4.tar.gz", "has_sig": false, "md5_digest": "4db199d8c38b2d830c96dba800878acd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5370, "upload_time": "2018-10-22T21:48:04", "url": "https://files.pythonhosted.org/packages/3d/6a/3945edd0e71fdc46fc25f9368b6c8fef64494172a9a4e80681ec634d7bb9/obj.server.rest-4.tar.gz" } ] }