{ "info": { "author": "Yoong Kang Lim", "author_email": "yoongkang.lim@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# Nardis\n\nA web framework based on ASGI. This is inspired by the Express framework for node.js.\n\n# Current status\n\nStill not production-ready.\n\nThis API is currently experimental, and is subject to change at any time.\n\nAs such, please don't use this for production applications yet.\n\nHowever, please do play around with it. Any feedback at this stage is welcome as the API becomes more stable.\n\n\n# Requirements\n\nPython 3.6+\n\n# Installation\n\n## Via pip\n\nRun the following:\n\n```\n$ pip install nardis\n```\n\n## From source\n\nTo build from source, clone this repo, and then:\n\n```\n$ python setup.py install\n```\n\n# Example\n\nHere's a quick example you can use. Create an `application.py` and copy and paste this:\n\n```python\nfrom nardis.asgi import main\nfrom nardis.routing import Get as get, Post as post\nimport asyncio\n\n\ntemplate_start = \"\"\"\n\nexample\n\n\"\"\"\n\ntemplate_end = \"\"\"\n\n\"\"\"\n\nasync def index(req, res):\n \"\"\"\n This just demonstrates that you can write async code. Don't actually write this in production.\n \"\"\"\n await res.send(template_start, more=True)\n for x in range(10, 0, -1):\n await res.send(f\"

{x}!

\", more=True)\n await asyncio.sleep(1)\n await res.send(\"

liftoff!

\", more=True)\n await res.send(template_end)\n\n\nasync def hello(req, res):\n \"\"\"\n Try going to http://127.0.0.1:8000/hello/your_name/\n\n You'll see \"Hello, your_name!\"\n \"\"\"\n name = req.params.get('name', 'world')\n await res.send(f\"

Hello, {name}!

\")\n\n\nroutes = [\n get(r\"^/?$\", index),\n get(r\"^/hello/(?P\\w+)/?$\", hello),\n]\n\nconfig = {\n 'routes': routes,\n}\n\napp = main(config) # this is the ASGI application\n\nif __name__ == '__main__':\n from uvicorn.run import run\n run(app, '127.0.0.1', 8000)\n```\n\nAnd then:\n\n```\n$ python application.py\n```\n\nAlternatively, you could also do the following:\n\n```\n$ uvicorn application:app\n```\n\nThis should start a server on http://127.0.0.1:8000\n\n\n# Using other web servers\n\nCurrently, Uvicorn is a dependency of Nardis.\n\nThe codebase doesn't actually use Uvicorn, but this dependency allows you to run your application quickly (see above example). This dependency might be removed in the future.\n\nNardis should also work with other ASGI-based web servers, like Daphne.\n\nTo get Daphne working with the example code above, you could do the following:\n\n```\n$ daphne application:app\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yoongkang/nardis", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nardis", "package_url": "https://pypi.org/project/nardis/", "platform": "", "project_url": "https://pypi.org/project/nardis/", "project_urls": { "Homepage": "https://github.com/yoongkang/nardis" }, "release_url": "https://pypi.org/project/nardis/0.0.7/", "requires_dist": [ "typing-extensions", "uvicorn" ], "requires_python": ">=3.6", "summary": "A web framework based on ASGI", "version": "0.0.7" }, "last_serial": 3985622, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "bedc9834d3d3dc766fa3ed5ebd9d9de6", "sha256": "d4f10072ec2d4512c0450ecf6921baae0fd4b5d03290be98b3a0992df89edfcc" }, "downloads": -1, "filename": "nardis-0.0.1-py3.6.egg", "has_sig": false, "md5_digest": "bedc9834d3d3dc766fa3ed5ebd9d9de6", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6", "size": 12956, "upload_time": "2018-06-21T04:04:05", "url": "https://files.pythonhosted.org/packages/e3/93/8908e7780753a1a586782c8bb7ff6ccba2011ca8c17167fdcc896b5f1a15/nardis-0.0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "d331bc403a512b2738da026d33c42ea7", "sha256": "8f6d33d08decb194f39ede996364728484d6900cad2cce4a7aef9406dbfc5277" }, "downloads": -1, "filename": "nardis-0.0.1-py3.7.egg", "has_sig": false, "md5_digest": "d331bc403a512b2738da026d33c42ea7", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.6", "size": 12273, "upload_time": "2018-06-21T04:04:06", "url": "https://files.pythonhosted.org/packages/d4/d6/9b3d3821c3268acf20f7a6ba9b4c933bbd75bb413d79bcc7c2099d4840ad/nardis-0.0.1-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "ff7b555b9b211560d3b0b0aee3c2f714", "sha256": "5e94b45340b0bf8e8b7a248fcf871b30b648c49d006fef222b8ec2d077c5271b" }, "downloads": -1, "filename": "nardis-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ff7b555b9b211560d3b0b0aee3c2f714", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5523, "upload_time": "2018-06-21T04:04:03", "url": "https://files.pythonhosted.org/packages/34/2b/97975f30451ecaeaa64f6a966d7f5cf2c258d303c8b6c316f297b32a0488/nardis-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1690bdfe8b38907b504e43e80e563aa0", "sha256": "604c2c5b717194698c97acdaf760351c202783b31bcf8c3379729873ccfc0caa" }, "downloads": -1, "filename": "nardis-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1690bdfe8b38907b504e43e80e563aa0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4311, "upload_time": "2018-06-21T04:04:08", "url": "https://files.pythonhosted.org/packages/53/9b/90ebbc042b4b7ebc3653a907a0980924cbb289c1b54ea2710b6331590a5f/nardis-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "728848e66a74800a0ac7660ac34a7775", "sha256": "606302ebeb5a1f74704c53f82044edc297c22509eeb062f82ac151c50796daac" }, "downloads": -1, "filename": "nardis-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "728848e66a74800a0ac7660ac34a7775", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6402, "upload_time": "2018-06-21T05:09:08", "url": "https://files.pythonhosted.org/packages/47/5d/6b11b92e14b01bd821732ee2b97465cd31b0d335c7ed4c187d2c40ff6928/nardis-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d2c0fea423611472083dfbd93ae7e4a5", "sha256": "ce4485b126fbc002e6717d7e6b0f84e36b7f72ccf190176a8dd4daaa7dc5c485" }, "downloads": -1, "filename": "nardis-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d2c0fea423611472083dfbd93ae7e4a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6401, "upload_time": "2018-06-21T05:10:34", "url": "https://files.pythonhosted.org/packages/a2/6e/80a332fcd225a3740da3f002c5271e85abe1e96a7e7fa66983a26f0ded0e/nardis-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc72fa0ab4e314a3db17ccc08b9016e2", "sha256": "34878e806edc6e151caadd261342eb9cabc12297f1ac3cfa4867284358c03ee1" }, "downloads": -1, "filename": "nardis-0.0.3.tar.gz", "has_sig": false, "md5_digest": "fc72fa0ab4e314a3db17ccc08b9016e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4743, "upload_time": "2018-06-21T05:10:35", "url": "https://files.pythonhosted.org/packages/e6/7e/60ba8d5c4c06b78d49b26331c8f44d665988f1c9ab3b39d3fbee01734755/nardis-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "bf050d4b482dcce92ab550ba52a609ac", "sha256": "4fef0bddf3ecb6ab07361a6492751671feba28d0040db5fdaa61b4abae6e9663" }, "downloads": -1, "filename": "nardis-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "bf050d4b482dcce92ab550ba52a609ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6426, "upload_time": "2018-06-21T05:16:43", "url": "https://files.pythonhosted.org/packages/eb/a1/ed310aae573a036e9992b20c19a7fa1286f45c53ebb797eaf5a8af726a7c/nardis-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "b80bd9ff2215da2aa969eb6d1c561cdc", "sha256": "72c0819ab78d478a22cd899ecd322e3a9c52ee0732203c50abba8a5afa98f03f" }, "downloads": -1, "filename": "nardis-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "b80bd9ff2215da2aa969eb6d1c561cdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6644, "upload_time": "2018-06-21T07:34:37", "url": "https://files.pythonhosted.org/packages/17/7b/77036dbbebaa287ce456c75dce09c3f44edccf579ca511c496e8d6c0319b/nardis-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5711b4411cc972c2aa170173e5132085", "sha256": "07fd0fcee22c049e444f570d1449849a5c7c260ec9838f75be689120b934cf08" }, "downloads": -1, "filename": "nardis-0.0.5.tar.gz", "has_sig": false, "md5_digest": "5711b4411cc972c2aa170173e5132085", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4758, "upload_time": "2018-06-21T07:34:38", "url": "https://files.pythonhosted.org/packages/31/9d/a2ad5122e6a2fc2a1820eea6b9b1729d326b4fa0576f66ce35d5948621a8/nardis-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "5d4075c8783ffc8da610c423e4aeee11", "sha256": "2475194e907641128330898350e7c87d7a29ae2d9216ce5685d8792812d7046f" }, "downloads": -1, "filename": "nardis-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5d4075c8783ffc8da610c423e4aeee11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6600, "upload_time": "2018-06-21T07:54:50", "url": "https://files.pythonhosted.org/packages/cc/41/d2274522511713114643427d780bfd38942c8b322c5030fb02958ff8a79f/nardis-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1744bc7c473d21cd32e85a3a54f2d1c", "sha256": "c6ecdbd064cd43c607154f8195a7a581c0d95a3f77e166de5fbf19c75a091276" }, "downloads": -1, "filename": "nardis-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c1744bc7c473d21cd32e85a3a54f2d1c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4737, "upload_time": "2018-06-21T07:54:52", "url": "https://files.pythonhosted.org/packages/a8/08/a33ac5fc1d14c9acecbbe771d55ddf2ccc9fbdf65f00188de8bb034d7457/nardis-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "60133dbe5f4e5ba840cfdccc1b499a39", "sha256": "9f0489293e54f45fa21735b2f766c7aaec9d30a96b7df8fa4f4af96c793e7bc9" }, "downloads": -1, "filename": "nardis-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "60133dbe5f4e5ba840cfdccc1b499a39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7416, "upload_time": "2018-06-21T13:02:25", "url": "https://files.pythonhosted.org/packages/67/23/2d3fb9f6dd8efcbb98b2320036f65a3c8d8b494481394e4396ea52d9bd64/nardis-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b51821630f73cfd0788dd47395b168e5", "sha256": "74a76e65d3dce097656471f32c9d7350d5b2778e299c528ea94b74eb14f8df88" }, "downloads": -1, "filename": "nardis-0.0.7.tar.gz", "has_sig": false, "md5_digest": "b51821630f73cfd0788dd47395b168e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5348, "upload_time": "2018-06-21T13:02:26", "url": "https://files.pythonhosted.org/packages/ee/d5/179ea2c470f40b4473c1fb80866f4c6324b397dda87657dc020ee97b5044/nardis-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "60133dbe5f4e5ba840cfdccc1b499a39", "sha256": "9f0489293e54f45fa21735b2f766c7aaec9d30a96b7df8fa4f4af96c793e7bc9" }, "downloads": -1, "filename": "nardis-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "60133dbe5f4e5ba840cfdccc1b499a39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7416, "upload_time": "2018-06-21T13:02:25", "url": "https://files.pythonhosted.org/packages/67/23/2d3fb9f6dd8efcbb98b2320036f65a3c8d8b494481394e4396ea52d9bd64/nardis-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b51821630f73cfd0788dd47395b168e5", "sha256": "74a76e65d3dce097656471f32c9d7350d5b2778e299c528ea94b74eb14f8df88" }, "downloads": -1, "filename": "nardis-0.0.7.tar.gz", "has_sig": false, "md5_digest": "b51821630f73cfd0788dd47395b168e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5348, "upload_time": "2018-06-21T13:02:26", "url": "https://files.pythonhosted.org/packages/ee/d5/179ea2c470f40b4473c1fb80866f4c6324b397dda87657dc020ee97b5044/nardis-0.0.7.tar.gz" } ] }