{ "info": { "author": "Gabriel McBride", "author_email": "gabe.l.mcbride@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyBEECN2\n\n# Table of Contents\n\n1. [Overview](#overview)\n1. [Processes](#processes)\n 1. [Setup Requirements](#setup-requirements)\n 1. [Environment Setup](#environment-setup)\n 1. [For Mac Users](#for-mac-users)\n 1. [For Windows Users](#for-windows-users)\n 1. [App Installation](#app-installation)\n 1. [App Exploration](#app-exploration)\n 1. [Usage](#usage)\n 1. [Run The App!!](#run-the-app)\n 1. [Development](#development)\n 1. [Make Your Working Directory](#make-your-working-directory)\n 1. [Clone Pybeecn2](#clone-pybeecn2)\n 1. [Post Merge Procedures](#post-merge-procedures)\n 1. [Uploading the update to PyPi](#uploading-the-update-to-pypi)\n1. [Summary](#summary)\n1. [Further Collaboration](#further-collaboration)\n1. [Useful links if you need additional help!](#useful-links-if-you-need-additional-help)\n1. [Data Used](#data-used)\n\n## Overview\nThis project was developed as an initial effort to look at the number of demographic populations in the City of Portland, \nOR. The purpose for this project was to be used by the Portland Bureau of Emergency Management to understand these \ndemographics populations within the sub communities of Portland in order to better support the communities surrounding\nBasic Earthquake Emergency Communication Nodes (BEECN) and the community as a whole. The tool that was developed is a commandline\ninterface tool (CLI) which generates a map of the Portland area and a number of map layers to view the distribution of\ndifferent demographic populations throughout the city. The map also allows the user to visualize the BEECN locations on \nthe map. \n\n## Processes\nThe processes to be able to use the tool are described in the section below\n\n### Setup Requirements\nIn order to use the tool, a user will need to install a few things on their machine. Depending on what machine you have, \nwill result in the necessary steps to take. Regardless, you will need to install a working python environment on your \nmachine. To do so, please follow the recommendations below depending on the operating system you are using. The installation\ncould take several minutes. \n\n#### Environment Setup\nStep 1: Open up a terminal on your machine. \n\n#### For Mac Users\nStep 2: Install and setup Homebrew. Homebrew is used as a package manager on your machine. The package manger will help \nautomate the processes of included in installing other development software. To install homebrew, run the following code\nin your commandline terminal you have open. \n```bash\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\n#### For Windows Users\nThe original developer for this application is not familiar with the process for setting up a working python environment\nfor windows operating systems. The recommendation is to consult a developer that is familiar with setting up a working\npython environment for windows. Additionally, you may consider consulting \n[ANACONDA FOR PYTHON](https://www.anaconda.com/what-is-anaconda/) for setting up the environment. \n\nStep 3: Open your bash profile and add text. You will need to add a command to your .bash_profile. To do this, on the \ncommandline, run the command (Note: you can use your preferred text editor if you feel commandline savvy):\n```bash\nnano ~/.bash_profile\n```\nWhen the text editor opens up, add the text:\n```text\nexport PATH=/usr/local/bin:$PATH\n```\n\nFinally, close the text editor with the 'control x' as indicated on the editor in the lower left. Then type 'Y' to save. After this, \nyou will have to 'source' the .bash_profile. To do this, run the following command from the terminal. \n```bash\nsource ~/.bash_profile\n```\nThen, verify that Homebrew is ready to use with, \n\n```bash\nbrew doctor\n```\nStep 4: Install Python 3. This will be easiest done with the following command in the commandline terminal.\n```bash\nbrew install python3\n```\nThis command will also install pip, setuptools, and wheel. These are more tools for the development of python tools and \nwill be discussed in the following [Development](#development) section in this documentation. \n\n### App Installation\nApp installation is quite easy at this point. Simply run the code below;\n```bash\npip install pybeecn2\n```\nAfter you run this command, you will see a number of things populate in the commandline. The application is installing\nany requirements the application is dependent on. It is installing additional python packages that pybeecn2 needs \nin order to run.\n\n#### App Exploration\nYou may want to explore the application a bit before you use it and to get a little comfortable with using the commandline. \nTo do so, run the following command and see what happens!\n\n```bash\npybeecn2 -h\n``` \nThe -h on the commandline is what is called a flag. By entering this flag after the application name and pressing enter on \nyour keyboard, you will populate the commandline window with the help instructions for that level of the application. In\nthis case, you are shown what the next level command of the application is, which is 'vis'. To see instructions for the next\nlevel of the application, fun the following in the commandline;\n\n```bash\npybeecn2 vis -h\n```\nThis will populate the help instructions for the visualization portion of the application. Again, you will see the subcommands\nthat belong to this application. Now enter the following to see the instructions for the 'map' level of the application.\n\n```bash\npybeecn2 vis map -h\n```\nThis will populate the commandline window with the map level help instructions for the pybeen2 application. You can see\nall of the inputs a user needs to use the map level of the pybeecn2 application. \n\n### Usage \nInitial usage of the application is limited to the ability to view the distribution of Limited English Speaking \npopulations across the City of Portland, OR. In order to use the application, you will need to input a number of commands in the commandline of your\nmachine. Entering the proper input arguments, will;\n\n1. Create a directory on your machine in the location in which you instruct it to. \n1. Download both BEECN data and Population data that exists on [Portland Open Data](http://gis-pdx.opendata.arcgis.com/)\n1. Save a viewable map of both BEECN locations and Population information surrounding the BEECN sites. \n 1. The map file will be saved as an html file and does not require any additional work for the user to veiw. \n 1. The map contains a number of selectable layers for the user to view the different populations and how they \n are distributed across the City of Portland, OR. \n\nIn the application's current state, it is limited to only being used for the purpose of viewing both the distribution\nof the total population of Portland and the distribution of Limited English Speaking Populations. However, given people \nwith the right skills to develop the application, it's use could be developed and increased to be used with most or all\nof the City of Portland's publicly and privately available data. The instructions for general development of the application\nwill be described below.\n\n### Run the App!!\nRunning the app is quite easy at this point! But first, you will need to answer one question.\n- Where do you want to save the application?\n - Once you have this figured out, this will be your input for the --directory flag. \n\nAfter you determine this, you are ready to put all inputs in the application as follows;\n```bash\npybeecn2 vis map --points https://opendata.arcgis.com/datasets/6e6185533d5447deb8b7204c27e1858e_92.geojson\n--boundaries https://opendata.arcgis.com/datasets/386fd0d07bca42d09f4fd46462bf8a7d_121.geojson \n--directory ~/your_directory/goes_here\n```\nNote that you could run the command above as is and the application will create the folder ~/your_directory/goes_here\nfor you. \n\nAfter you run the command, again you will see a number of items populate in the commandline window. This output\nis indicating what part the program is running. For example, the last items that are output in the commandline \nwindow are indicating that the map layers for each Limited English Speaking populations is being made. \n\nAfter the application is complete, navigate to the folder that you designated as the directory so you can see the map!\nOnce you are there the map will be located in the plots folder. Simply double-click the file beginning with 'population_map'. \n\nNote there are some nuances about the different map. Make sure you only have one map layer selected at a time.\nThe map opens with displaying the layer with the total distribution of the portland Population, the BEECN sites, \nand a 1600m radius ring around the sites. The application will also create a few other directories on your machine\nfor the ability to save more data, plots, or other analysis files in the event you want to further develop the application. \n\n### Development\nUnder these instructions, it is assumed that the developer has some familiarity with the git development process and \nhas a github or similar account to be able to collaborate on development. \n\nTo develop this application there are a number of things that you will need to do. Assuming that you have gone through \nthe initial setup of your python environment, you will now have to setup a location on your machine where you will \ndevelop the application. To do this is quite easy! Decide where on your machine you will do your development or create \na new directory with the following command on the commandline;\n\n#### Make Your Working Directory\n```bash\nmkdir ~/your_development/directory_here/\n```\nOnce you create your desired folder, you will have to navigate to it with;\n```bash\ncd ~/your_development/directory_here/\n```\n#### Clone Pybeecn2\nThen, you are ready to clone the pybeen2 application onto your machine to develop with;\n```bash\ngit clone https://github.com/glmcbr06/pybeecn2.git\n```\nNow, you'll have to navigate to the pybeecn2 directory that you just cloned with;\n\n```bash\ncd pybeen2\n```\nYou can begin developing the app and your changes will be implemented on your machine immediately after you run the \nfollowing command on your commandline;\n```bash\npip install --upgrade --no-deps -e .\n```\nCongrats! You are now ready to begin developing the application and expanding it's uses!!\n\nTo begin developing, use the standard git practices of creating a new branch to work and test your development on by;\n```bash\ngit checkout -b feature/your_feature\n```\nThink of how you would like to expand the use of the application, create your branch to work on, make some changes, and\nsee the improvements on your machine! When you are ready for the changes to be distributed to the master branch, you will\nneed to do a few things. You will need to add the new code to git, commit the code, and push the branch to the remote \nrepository located on github. Not much work is required here by the developer!!\n\nRun the following to add the new changes/new files you have created;\n```bash\ngit add [file with new code here]\n```\nDon't worry, if you do not do this properly, git will prompt you with some recommendations in the commandline. \nThen,\n```bash\ngit commit -m \"Some comments about this commit and changes/additions you are making\"\n```\nAgain, if you mess this up a bit git will prompt you with some recommendations. \n\nFinally,\n```bash\ngit push\n```\nAfter this, git will prompt you to set the upstream location if it is not already set. Simply copy the upstream \nlocation and run the command again with addition of prompted upstream location;\n\n```bash\ngit push [prompted upstream location here]\n```\nNow when you make new changes and want to commit and push them you will simply be able to run git push from the commandline\nwhen you are ready. \n\nWhen your new feature is in working order it is ready to merge into the master branch! Navigate to your branch on github\nand create a merge request and begin the code review process. \n\n### Post Merge Procedures\nThe application is published to the PyPi package repository for easy distribution. The app will also need to be updated\nthere once branches have been merged into the master branch. This process assumes that the developer has installed \nand setup necessary PyPi and Github (or other version control) accounts in order to develop and maintain a distribution\nof the application. \n\n#### Uploading the update to PyPi\nTo keep the distribution of the application up to date you will have to do a few additional things. \n\nStep 1: you will have to update the version number of the distribution. In whatever text editor you are using for \ndevelopment, navigate to 'setup.py'. In setuptools.setup, you will find version=x.x.x. Update the version number\nto the appropriate version number to be uploaded.\n\nStep 2: In the terminal you will have to create the new build of the distribution. To do so run;\n\n```bash\npython3 setup.py sdist bdist_wheel\n```\nThis will create the new distribution build file in your local repository. \n\nStep 3: Delete the old version of the build by navigating to the file in your local repository and deleting it \nby whatever method you prefer. \n\nStep 4: Add and commit the new changes and push to the remote repository.\n\nStep 5: Merge the changes into master to update the master branch. \n\nStep 6: Navigate back to your terminal window and run;\n```bash\ngit checkout master\ngit pull\n```\nThis will pull in the updates that you just merged into master!\n\nStep 7: Run the following command in the terminal to upload the distribution to PyPi. \n\n```bash\ntwine upload dist/*\n```\n## Summary\nIn summary, the only minimum requirements for using the application are;\n1. Setting up a working python environment as described above. \n1. Installing the pybeecn application as described above with the following command once you have a working \npython environment;\n\n```bash\npip install pybeecn2\n```\n\n\n## Further Collaboration\nIf you would like to contribute to the effort to improve Portland's BEECN program through the use of available data \nplease contact Gabe McBride at [gabe.l.mcbride@gmail.com](mailto:gabe.l.mcbride@gmail.com).\n\n## Useful links if you need additional help!\nBelow are a number of useful links if the instructions are not sufficient. Additionally, if you need any help you are \nwelcome to contact the original developer via email above.\n\n[GitHub Guide](https://guides.github.com/introduction/flow/), \n[Stackoverflow](https://stackoverflow.com/questions/19695127/git-workflow-review), \n[Atlassian](https://www.atlassian.com/git/tutorials/comparing-workflows), \n[Pypi](https://packaging.python.org/tutorials/packaging-projects/), and \n[ANACONDA FOR PYTHON](https://www.anaconda.com/what-is-anaconda/)\n\n## Data Used\nData used for this project can be found at the Portland Maps Open Data website [Here](https://www.portlandoregon.gov/civic/56897). \nThe data was downloaded via the APIs provided on the website for both BEECN locations and Population boundaries. \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/glmcbr06/pybeecn2", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pybeecn2", "package_url": "https://pypi.org/project/pybeecn2/", "platform": "", "project_url": "https://pypi.org/project/pybeecn2/", "project_urls": { "Homepage": "https://github.com/glmcbr06/pybeecn2" }, "release_url": "https://pypi.org/project/pybeecn2/0.0.7/", "requires_dist": [ "numpy", "matplotlib", "folium", "geopandas" ], "requires_python": ">=3.6", "summary": "Ability to view Portland Demographic Data", "version": "0.0.7", "yanked": false, "yanked_reason": null }, "last_serial": 6113245, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "f476e263bdbb5b13fcfd4cdde0068400", "sha256": "f341666f96577e155a39e06e81bbd504ca7810ed2cfbde31f1e45f7ec65bb9df" }, "downloads": -1, "filename": "pybeecn2-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f476e263bdbb5b13fcfd4cdde0068400", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6064, "upload_time": "2019-10-27T21:38:11", "upload_time_iso_8601": "2019-10-27T21:38:11.463515Z", "url": "https://files.pythonhosted.org/packages/cd/2e/54a15a9eb4a6dce97857046f41c292571d6d0da0b1799e3672ee9eb4ccc0/pybeecn2-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "636ea011f289fec08767e13c44a14f37", "sha256": "e2ef3a2815b6e704aafe41d7c26dad4734f989c5d1489e39c24050292b07bc3d" }, "downloads": -1, "filename": "pybeecn2-0.0.2.tar.gz", "has_sig": false, "md5_digest": "636ea011f289fec08767e13c44a14f37", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4330, "upload_time": "2019-10-27T21:38:13", "upload_time_iso_8601": "2019-10-27T21:38:13.045980Z", "url": "https://files.pythonhosted.org/packages/eb/a2/32f9214cf0d441c7d08efebf325213efcbe281575c18c585e2d3e61ff401/pybeecn2-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "8155c847a6ecd4074bab3ac255d80a9b", "sha256": "5f08b3ad08f01b79343e5f417f321f326470f78f1980bb526e2e6f3cf9b759b7" }, "downloads": -1, "filename": "pybeecn2-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8155c847a6ecd4074bab3ac255d80a9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11649, "upload_time": "2019-10-28T01:24:26", "upload_time_iso_8601": "2019-10-28T01:24:26.471568Z", "url": "https://files.pythonhosted.org/packages/af/b3/008fdfe5a7b38101c572f9ad55cb15a7250f4258dc1df55e859b0466f769/pybeecn2-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a39652e0a05afe2fec3e0a4f21e0597e", "sha256": "25af0d24facdeaf58feb700c30b44787764f3ffef6d8cc57fc3f889bdba99c7b" }, "downloads": -1, "filename": "pybeecn2-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a39652e0a05afe2fec3e0a4f21e0597e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45255, "upload_time": "2019-10-28T01:24:28", "upload_time_iso_8601": "2019-10-28T01:24:28.154894Z", "url": "https://files.pythonhosted.org/packages/a3/f9/9eb7d39a2b4fee1d8afba844b09a4fa9854f3aeaba83ff7026c7b5bcb297/pybeecn2-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "2e466f82e171cba784da0a20f3e02be5", "sha256": "f23b6b61485f164b0b960bf547adf5141d7a84e975075038b2f3a1ae1549c7aa" }, "downloads": -1, "filename": "pybeecn2-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2e466f82e171cba784da0a20f3e02be5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14522, "upload_time": "2019-11-10T20:22:26", "upload_time_iso_8601": "2019-11-10T20:22:26.069526Z", "url": "https://files.pythonhosted.org/packages/3b/28/0f9a3a4dd09ff7dd8a6ee2a74245699f921bd6d2c9f3b9bd2a51b9e9f7f5/pybeecn2-0.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dc24a4bc5b903df38c7d08ee55098c61", "sha256": "4c7c433125354f794527054be1cf4ff623a09561cc35ac4476f701010116d6e9" }, "downloads": -1, "filename": "pybeecn2-0.0.4.tar.gz", "has_sig": false, "md5_digest": "dc24a4bc5b903df38c7d08ee55098c61", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 109864, "upload_time": "2019-11-10T20:22:27", "upload_time_iso_8601": "2019-11-10T20:22:27.875835Z", "url": "https://files.pythonhosted.org/packages/8a/1b/f253d6b25b30f31fc096f3c27652db9818d9f0ba727145fa0faaf73d89c4/pybeecn2-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "2bee27f1f53bc08d538e267800903fef", "sha256": "bf40693093c7ab691d2066bfe16690dcf41111f2c1f3ed07fa52dd0f34024bd2" }, "downloads": -1, "filename": "pybeecn2-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2bee27f1f53bc08d538e267800903fef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14323, "upload_time": "2019-11-10T23:18:42", "upload_time_iso_8601": "2019-11-10T23:18:42.284160Z", "url": "https://files.pythonhosted.org/packages/e1/1a/13a1d6afa7773a060fe6089874335d829a3c11124336c1247aeae4cc370e/pybeecn2-0.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0b5359da3adc7525ef63d19d4f8ae8d2", "sha256": "f128960ef3986856ce2822f266f2b7e08456ea0fe0c061f5059fb1b2736366d0" }, "downloads": -1, "filename": "pybeecn2-0.0.5.tar.gz", "has_sig": false, "md5_digest": "0b5359da3adc7525ef63d19d4f8ae8d2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 144020, "upload_time": "2019-11-10T23:18:44", "upload_time_iso_8601": "2019-11-10T23:18:44.055172Z", "url": "https://files.pythonhosted.org/packages/80/64/c00e7582bb0f6a0bf0a40e0b449694550bdcf4ffb64406781fff0ad2de67/pybeecn2-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "a36b882256e88869149fdb53817e64d1", "sha256": "6d0a878363962bbf92aa2125ca87b47b2662db7ef6cb16bd814bb4a25979c552" }, "downloads": -1, "filename": "pybeecn2-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a36b882256e88869149fdb53817e64d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14304, "upload_time": "2019-11-10T23:25:33", "upload_time_iso_8601": "2019-11-10T23:25:33.919325Z", "url": "https://files.pythonhosted.org/packages/22/a5/6d70a322f2b32c11118e8dbb60be51d9c8ef616e947652a2cafb11a54940/pybeecn2-0.0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f7750c3186d2b973db32dd29bcd6dfd6", "sha256": "3edc79801328da23d368725ca225d49d2a953b810a026f584a09c35abe73b692" }, "downloads": -1, "filename": "pybeecn2-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f7750c3186d2b973db32dd29bcd6dfd6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 177711, "upload_time": "2019-11-10T23:25:35", "upload_time_iso_8601": "2019-11-10T23:25:35.644035Z", "url": "https://files.pythonhosted.org/packages/c0/b1/50364487728ca43f4a7d335dc8f5aeb74e45906fea59d45dc45cb7503167/pybeecn2-0.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "f2689fe6c1d9f1a1576d97086493be40", "sha256": "aaa12d6fb3169d85af85a9d3a03fe8aa8de7b47531da809cb82840d7fb618d8a" }, "downloads": -1, "filename": "pybeecn2-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f2689fe6c1d9f1a1576d97086493be40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14306, "upload_time": "2019-11-10T23:31:12", "upload_time_iso_8601": "2019-11-10T23:31:12.193953Z", "url": "https://files.pythonhosted.org/packages/68/4a/20ce1ae34c5d0650aae4249ae520393741e0fc4fbcd7fe8ed95a0f67793c/pybeecn2-0.0.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6adb7f47ae7fe66062b5975980ab0891", "sha256": "2e82d04f96592aa34787becaaa55b9df2a9cc5ea36fa65f4f84a5aece011b9c5" }, "downloads": -1, "filename": "pybeecn2-0.0.7.tar.gz", "has_sig": false, "md5_digest": "6adb7f47ae7fe66062b5975980ab0891", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 244521, "upload_time": "2019-11-10T23:31:13", "upload_time_iso_8601": "2019-11-10T23:31:13.972177Z", "url": "https://files.pythonhosted.org/packages/35/66/02ad208edec2071d6e60d7338c527a67a0fae9aba9fb0f08fb1fa553eefa/pybeecn2-0.0.7.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f2689fe6c1d9f1a1576d97086493be40", "sha256": "aaa12d6fb3169d85af85a9d3a03fe8aa8de7b47531da809cb82840d7fb618d8a" }, "downloads": -1, "filename": "pybeecn2-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f2689fe6c1d9f1a1576d97086493be40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 14306, "upload_time": "2019-11-10T23:31:12", "upload_time_iso_8601": "2019-11-10T23:31:12.193953Z", "url": "https://files.pythonhosted.org/packages/68/4a/20ce1ae34c5d0650aae4249ae520393741e0fc4fbcd7fe8ed95a0f67793c/pybeecn2-0.0.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6adb7f47ae7fe66062b5975980ab0891", "sha256": "2e82d04f96592aa34787becaaa55b9df2a9cc5ea36fa65f4f84a5aece011b9c5" }, "downloads": -1, "filename": "pybeecn2-0.0.7.tar.gz", "has_sig": false, "md5_digest": "6adb7f47ae7fe66062b5975980ab0891", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 244521, "upload_time": "2019-11-10T23:31:13", "upload_time_iso_8601": "2019-11-10T23:31:13.972177Z", "url": "https://files.pythonhosted.org/packages/35/66/02ad208edec2071d6e60d7338c527a67a0fae9aba9fb0f08fb1fa553eefa/pybeecn2-0.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }