{ "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.UDP is a package part of the OBJ namespace. It provides a server that can relay udp datagrams to channels. \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.udp", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "obj.server.udp", "package_url": "https://pypi.org/project/obj.server.udp/", "platform": "", "project_url": "https://pypi.org/project/obj.server.udp/", "project_urls": { "Homepage": "https://bitbucket.org/bthate/obj.server.udp" }, "release_url": "https://pypi.org/project/obj.server.udp/4/", "requires_dist": null, "requires_python": "", "summary": "udp listening server that can echo udp datagram to channels.", "version": "4" }, "last_serial": 4397195, "releases": { "1": [ { "comment_text": "", "digests": { "md5": "fad818b07d546e7c940b2ba8b579859a", "sha256": "42c5fbe03bff027bf00024dda8552bbd49156c289b46a482890c9785478ed2c3" }, "downloads": -1, "filename": "obj.server.udp-1.tar.gz", "has_sig": false, "md5_digest": "fad818b07d546e7c940b2ba8b579859a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4734, "upload_time": "2018-09-29T18:16:58", "url": "https://files.pythonhosted.org/packages/0c/ae/818a86dad924a7e7f32abad7e03035960d46b8fe723a080a2b19c09baff9/obj.server.udp-1.tar.gz" } ], "2": [ { "comment_text": "", "digests": { "md5": "a94046a9f52219143314d877fd63d524", "sha256": "f64734af3173414022d780275ff3050249cfebbe222944f980577ce98c8ca929" }, "downloads": -1, "filename": "obj.server.udp-2.tar.gz", "has_sig": false, "md5_digest": "a94046a9f52219143314d877fd63d524", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4728, "upload_time": "2018-09-30T21:36:48", "url": "https://files.pythonhosted.org/packages/4d/48/56b34a54e37a0d5199cdd7c2cdc87decdbb84a7b0c998ba59af2261be139/obj.server.udp-2.tar.gz" } ], "3": [ { "comment_text": "", "digests": { "md5": "6e67205b803d88126fa18da794202224", "sha256": "d4b75efd200d0b3c038fe6d92e63b807110b35fb7aad43b7deb1de337aa14310" }, "downloads": -1, "filename": "obj.server.udp-3.tar.gz", "has_sig": false, "md5_digest": "6e67205b803d88126fa18da794202224", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5376, "upload_time": "2018-10-12T11:45:49", "url": "https://files.pythonhosted.org/packages/a6/15/a0218907f5baa96f276fef986bd2901207f269ebffd9ba767917342c8e44/obj.server.udp-3.tar.gz" } ], "4": [ { "comment_text": "", "digests": { "md5": "85fe77d5723a4cd6a34dbcc65b688cb1", "sha256": "71b187c45ba08669ceaf78b5fb371171cf569dc7a8e03584c80566099eb19b40" }, "downloads": -1, "filename": "obj.server.udp-4.tar.gz", "has_sig": false, "md5_digest": "85fe77d5723a4cd6a34dbcc65b688cb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5545, "upload_time": "2018-10-20T13:36:16", "url": "https://files.pythonhosted.org/packages/29/dc/265a694c9d41082e8a17c7936b9c163bc6932843d6dbc25b781ec853ec9e/obj.server.udp-4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "85fe77d5723a4cd6a34dbcc65b688cb1", "sha256": "71b187c45ba08669ceaf78b5fb371171cf569dc7a8e03584c80566099eb19b40" }, "downloads": -1, "filename": "obj.server.udp-4.tar.gz", "has_sig": false, "md5_digest": "85fe77d5723a4cd6a34dbcc65b688cb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5545, "upload_time": "2018-10-20T13:36:16", "url": "https://files.pythonhosted.org/packages/29/dc/265a694c9d41082e8a17c7936b9c163bc6932843d6dbc25b781ec853ec9e/obj.server.udp-4.tar.gz" } ] }