{
"info": {
"author": "Koen Bok",
"author_email": "koen@madebysofa.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Topic :: Internet :: WWW/HTTP"
],
"description": "News\n--------------\n\n### Cactus 3 is out!\n\nWe're happy to announce Cactus 3. It brings a set of great new features like asset fingerprinting, an asset pipeline, pretty urls, native Mac filesystem events, automatic nameserver configuration, support for multiple deployment backends (Google Sites) and more. Large parts of the code have been rewritten, accompanied by an extensive suite of unit tests. Many thanks to Thomas Orozco and other contributors.\n\n\nWhat is Cactus\n--------------\n\nCactus is a simple but powerful [static website generator][1] using Python and the [Django template system][2].\nCactus also makes it easy to develop locally and deploy your site to S3 directly.\nIt works great for company, portfolio, personal, support websites and blogs.\n\nTo get a quick overview [watch this short video tutorial][3].\n\nCactus is based on the idea that most dynamic features on websites these days can be done using Javascript while the\nactual site can stay static. Static websites are easy to host and typically very fast.\n\nI developed Cactus because I wanted a standard, easy system that designers at [Sofa](http://madebysofa.com) could\nuse to build and deploy fast websites. So typical users would be designers that are tech-savvy, want to use templates,\nbut don't like to mess with setting up django or S3.\n\nSince then it has evolved quite a bit with a plugin system that supports blogging, spriting, versioning and is\nextensible.\n\nYou can find more discussion about static site generators in this [Hacker News discussion][4].\n\n\n### Examples\n\n + http://www.cactusformac.com - Cactus app site\n + http://www.framerjs.com - Framer website\n + https://crate.io - Crate, Distributed Database for Docker (source: https://github.com/crate/crate-web)\n\n\nThere is also an example blog project included.\n\n\nSuper quick tutorial for the impatient\n--------------------------------------\n\nInstall Cactus with the following one liner\n\n sudo easy_install cactus\n\nIf you saw no errors, you can now generate a new project\n\n cactus create ~/www.mysite.com\n\nTo start editing and previewing your site type the following. Then point your browser to localhost:8000 and start editing. Cactus will automatically rebuild your project and refresh your browser on changes.\n\n cd ~/www.mysite.com\n cactus serve\n\nOnce you are ready to deploy your site to S3 you can run the following. You will need your [Amazon access keys][5].\nIf you don't have one yet, [read how to get one here][6].\n\n cactus deploy\n\nVoila. Your website generated by Cactus and hosted on S3!\n\n\nExtended guide\n--------------\n\n### Creating a new project\n\nYou can create a new project by generating a new project structure like this. Make sure the destination folder does not\nexist yet.\n\n cactus create [path]\n\nIf you did not see any errors, the path you pointed to should now look like this.\n\n - .build Generated site (upload this to your host)\n - pages Your actual site pages\n - index.html\n - sitemap.xml\n - robots.txt\n - error.html A default 404 page\n - templates Holds your django templates\n - base.html\n - static Directory with static assets\n - images\n - css\n - js\n - plugins A list of plugins. To enable remove disabled from the name\n\n\n### Making your site\n\nAfter generating your site you can start building by adding pages to contents, which can rely on templates. So for\nexample if you want a page `/articles/2010/my-article.html` you would create the file with directories in your pages\nfolder. Then you can edit the file and use django's template features.\n\n\n### Building your site\n\nWhen you build your site it will generate a static version in the build folder that you can upload to any host.\nBasically it will render each page from your pages folder, copy it over to the build folder and add all the static\nassets to it so it becomes a self contained website. You can build your site like this:\n\n cd [your-cactus-path]\n cactus build\n\nYour rendered website can now be found in the (hidden) [path]/.build folder. Cactus can also run a small webserver to\npreview your site and update it when you make any changes. This is really handy when developing to get live visual feedback.\n\nYou can run it like this:\n\n cactus serve\n\n### Linking and contexts\n\nCactus makes it easy to relatively link to pages and static assets inside your project by using the template tags\n{% static %} and {% url %}. For example if you are at page `/blog/2011/Jan/my-article.html` and would like to link to\n`/contact.html` you would write the following:\n\n Contact\n\nJust use the URL you would normally use: don't forget the leading slash.\n\n\n### Templates\n\nCactus uses the Django templates. They should be very similar to other templating systems and have some nice\ncapabilities like inheritance. In a nutshell: a variable looks like this `{{ name }}` and a tag like this\n`{% block title %}Welcome{% endblock %}`. You can read the [full documentation][7] at the django site.\n\n\n### Enabling Plugins\n\nTo enable a plugin for your site, change the file name from [PLUGIN].disabled.py to [PLUGIN].py.\nFor an example of how to build a blog on top of Cactus, see [CactusBlog](https://github.com/koenbok/CactusBlog/)\n\n\n### Deploying\n\nCactus can deploy your website directly to S3, all you need are your Amazon credentials and a bucket name. Cactus\nremembers these in a configuration file name config.json to make future deploys painless. The secret key is stored\nsecurely in the Keychain or similar services on other OSs.\n\n cactus deploy\n\nAfter deploying you can visit the website directly. Cactus also makes sure all your text files are compressed and adds caching headers.\n\n\n### Extras\n\n\n#### Asset pipeline\n\nCactus comes with an asset pipeline for your static files. If you'd like to use it, make sure you use the {% static %}\ntemplate tag to link to your static assets: they might be renamed in the process.\n\n\n##### Fingerprinting\n\nModify `config.json`, and add the extensions you want to be fingerprinting:\n\n \"fingerprint\": [\n \"js\",\n \"css\"\n ],\n\nThis lets you enable caching with long expiration dates. When a file changes, its name will reflect the change. Great for when you use a CDN.\n\n\n##### Optimization\n\nModify `config.json`, and add the extensions you want to be optimizing:\n\n \"optimize\": [\n \"js\",\n \"css\"\n ],\n\n\nBy default, Cactus will use:\n\n + YUI for CSS minification\n + Closure compiler for JS minification (YUI is built-in too, so you can use it!)\n\nCheck out `plugins/static_optimizes.py` in your project to understand how this works. It's very easy to add your own\noptimizers!\n\n\n#### Site URL\n\nIf you would like for your sitemap to have absolute paths you need to\nadd a site-url key to your config.json\n\nYou can enable this by adding modifying your configuration and adding:\n\n \"site-url\": \"http://yoursite.com\",\n\nNote that you need to do this if you want your sitemap to be valid for Google Webmaster Tools.\n\n\n#### \"Pretty\" URLs\n\nIf you would like to not have \".html\" in your URLs, Cactus can rewrite those for you, and make \"/my-page.html\" look\nappear as \"/my-page/\", by creating the \"/my-page/index.html\" file.\n\nYou can enable this by adding modifying your configuration and adding:\n\n \"prettify\": true\n\nNote that if you're going to use this, you should definitely set your \"Meta canonical\" to the URL you're using so as\nto not hurt your search rankings:\n\n \n\n\n#### Nameserver configuration\n\nTo set up a hosted zone and generate the correct nameserver records for your domain, make sure your bucket is a valid domain name, and run:\n\n cactus domain:setup\n\nCactus will return with a set of nameservers that you can then enter with your registrar. To see the list again run:\n\n cactus domain:list\n\nIf your domain is 'naked' (eg. without www), Cactus will add create an extra bucket that redirects the www variant of your domain to your naked domain (so www.cactus.com to cactus.com). All the above is Amazon only for now.\n\n\n#### Extra files\n\nCactus will auto generate a `robots.txt` and `sitemap.xml` file for you based on your pages.\n\nThis will help bots to index your pages for Google and Bing for example.\n\n\nPython Versions\n---------------\n\nCactus is tested on Python 2.6, 2.7, and 3.4. It probably works on Python 3.3\nas well.\n\n\n [1]: http://mickgardner.com/2011/04/27/An-Introduction-To-Static-Site-Generators.html\n [2]: http://docs.djangoproject.com/en/dev/topics/templates/\n [3]: https://vimeo.com/46999791\n [4]: http://news.ycombinator.com/item?id=2233620\n [5]: https://payments.amazon.com/sdui/sdui/helpTab/Checkout-by-Amazon/Advanced-Integration-Help/Using-Your-Access-Key\n [6]: http://www.hongkiat.com/blog/amazon-s3-the-beginners-guide/#Gettting_an_Amazon_S3_Account\n [7]: https://docs.djangoproject.com/en/dev/topics/templates/",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://github.com/koenbok/Cactus",
"keywords": "",
"license": "BSD",
"maintainer": "",
"maintainer_email": "",
"name": "Cactus",
"package_url": "https://pypi.org/project/Cactus/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/Cactus/",
"project_urls": {
"Homepage": "http://github.com/koenbok/Cactus"
},
"release_url": "https://pypi.org/project/Cactus/3.3.3/",
"requires_dist": [
"Django (>=1.6,<1.7)",
"argparse",
"boto (>=2.4.1)",
"colorama",
"colorlog",
"django-markwhat (>=1.4,<2)",
"keyring (>=5.7.1,<6.0)",
"markdown2",
"six (>=1.9.0)",
"tornado (>=3.2)",
"pyrax; extra == 'Cloud Files Deployment'",
"google-api-python-client; extra == 'GCS Deployment'",
"macfsevents; extra == 'Mac Native FSEvents'"
],
"requires_python": "",
"summary": "Static site generation and deployment.",
"version": "3.3.3"
},
"last_serial": 1968093,
"releases": {
"2.0": [],
"2.0.1": [],
"2.0.2": [],
"2.1.0": [],
"2.1.1": [],
"2.1.2": [],
"2.1.3": [],
"2.2.0": [],
"2.2.1": [
{
"comment_text": "",
"digests": {
"md5": "1e4d6fa5b7a5da4753c9c851faaafed0",
"sha256": "d2bf8908d93ab7644326dab7f68f7753503ce6fb69597ba90acf873edf1da094"
},
"downloads": -1,
"filename": "Cactus-2.2.1.tar.gz",
"has_sig": false,
"md5_digest": "1e4d6fa5b7a5da4753c9c851faaafed0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26966,
"upload_time": "2013-11-26T23:51:25",
"url": "https://files.pythonhosted.org/packages/98/3d/4f932fcc35861bb258e14284ecd66385090041971cf5d89327207c2eceae/Cactus-2.2.1.tar.gz"
}
],
"2.3.0": [
{
"comment_text": "",
"digests": {
"md5": "e44f4c41c3d7de2753f7d0963ec42b02",
"sha256": "ea59060e0bf399225b33b1ccc136b109929baa26132509f7ea2cd5260e1e8872"
},
"downloads": -1,
"filename": "Cactus-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "e44f4c41c3d7de2753f7d0963ec42b02",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27356,
"upload_time": "2013-11-27T00:01:03",
"url": "https://files.pythonhosted.org/packages/d5/26/82325b5ce608aa607a4df77c4e569b8a372beeae2fcab4af7c60988e166b/Cactus-2.3.0.tar.gz"
}
],
"2.3.1": [
{
"comment_text": "",
"digests": {
"md5": "affd53b7071fb207b237bf594bed8cf5",
"sha256": "847e3217dd652a4867ab2aad9414b1c4bfa36a7bbe4cc5ca71a6251c987d8c57"
},
"downloads": -1,
"filename": "Cactus-2.3.1.tar.gz",
"has_sig": false,
"md5_digest": "affd53b7071fb207b237bf594bed8cf5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27381,
"upload_time": "2013-11-27T00:03:08",
"url": "https://files.pythonhosted.org/packages/ac/35/78f75722e9467b0ce1b9e539882776dee9ab43dd36dee3cd3530c3295db8/Cactus-2.3.1.tar.gz"
}
],
"3.0.0": [],
"3.0.1": [
{
"comment_text": "",
"digests": {
"md5": "004aa32f3ce6f2af1194e4e765d4d816",
"sha256": "6b79cbdc57adfc09877142b6c8b9f05f0b4a47c1cc4e04d0bad84f2a1472336c"
},
"downloads": -1,
"filename": "Cactus-3.0.1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "004aa32f3ce6f2af1194e4e765d4d816",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 309708,
"upload_time": "2015-03-27T02:13:13",
"url": "https://files.pythonhosted.org/packages/4e/f0/6f203c95b45f9c5c0e56696b0b31f5c93e103c3a763972d514a30c14d8e1/Cactus-3.0.1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c9dbeb54678ad82ddaf15fd27bf56c7b",
"sha256": "77dc83545307ee4d739f31ebb2b7accef6e17b00ea9f498c21c57bb570100edf"
},
"downloads": -1,
"filename": "Cactus-3.0.1.tar.gz",
"has_sig": false,
"md5_digest": "c9dbeb54678ad82ddaf15fd27bf56c7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 266544,
"upload_time": "2015-03-27T02:13:17",
"url": "https://files.pythonhosted.org/packages/8e/66/3af0aac353fe3c93db9b6aae709df0454faa9f602c8724a5b707b6bcca02/Cactus-3.0.1.tar.gz"
}
],
"3.0.2": [
{
"comment_text": "",
"digests": {
"md5": "7f00fc676079f8b960b0571a0f75f251",
"sha256": "30b2088682a3d64be07a1e2de6c5f747c49381e586e5a91254005ec252d1fa12"
},
"downloads": -1,
"filename": "Cactus-3.0.2-py2-none-any.whl",
"has_sig": false,
"md5_digest": "7f00fc676079f8b960b0571a0f75f251",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 309764,
"upload_time": "2015-04-05T13:21:03",
"url": "https://files.pythonhosted.org/packages/12/c9/591004291c0b27c64cc111ca0f17467c0bfd01e49ca290492f6c3fc0b337/Cactus-3.0.2-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "aee8f4c61dd194824674aa136fe71100",
"sha256": "d65bb84d7a60bc7a17a0f240920b6358e39231001f46562cbc956d158e5dfe3f"
},
"downloads": -1,
"filename": "Cactus-3.0.2.tar.gz",
"has_sig": false,
"md5_digest": "aee8f4c61dd194824674aa136fe71100",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 266607,
"upload_time": "2015-04-05T13:21:12",
"url": "https://files.pythonhosted.org/packages/70/71/18fa8e7fc7bb956d2963c5d8cd31ac3eab0857ede9b069e08e0cfd376156/Cactus-3.0.2.tar.gz"
}
],
"3.1.0": [
{
"comment_text": "",
"digests": {
"md5": "0192146793da2416db06ae2f500f1a91",
"sha256": "91df8c93eeb26365e06cb3cd89694c46f6c4ac3bc9e6e6914b02593f22e60f73"
},
"downloads": -1,
"filename": "Cactus-3.1.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "0192146793da2416db06ae2f500f1a91",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 317868,
"upload_time": "2015-09-06T12:19:51",
"url": "https://files.pythonhosted.org/packages/86/da/1030f48313800b662e75184cd53cf59c3f7b0c983dc4627a824d830db927/Cactus-3.1.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "111b10bb41878bdf518c4570e2e25170",
"sha256": "7f35ac267adebdf3c200700b6e16d857985aa91778f4a6a13bdb53cd71cf5307"
},
"downloads": -1,
"filename": "Cactus-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "111b10bb41878bdf518c4570e2e25170",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 317872,
"upload_time": "2015-09-06T12:19:57",
"url": "https://files.pythonhosted.org/packages/b5/60/05a34a131da3b23f9d5bd1022ce3f26e999ffb7a0e677f6cd44b32368f05/Cactus-3.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a2929ca37459fdfbcbbcfca9bd96fb0a",
"sha256": "5fb5eb766aa2d4e170161f5c1753b1a549422246126e3333bad1ba8e985dde06"
},
"downloads": -1,
"filename": "Cactus-3.1.0.tar.gz",
"has_sig": false,
"md5_digest": "a2929ca37459fdfbcbbcfca9bd96fb0a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 269559,
"upload_time": "2015-09-06T12:20:14",
"url": "https://files.pythonhosted.org/packages/03/81/5b9b502592579d22c68bf315bf34099cb960c18557aa7803de7aa3023005/Cactus-3.1.0.tar.gz"
}
],
"3.2.0": [
{
"comment_text": "",
"digests": {
"md5": "95d167c02e763c6429315976b98b0dba",
"sha256": "58d4b43e5cb634eb5304ba09e005b3f02df4c74a8985c154e300256c2dbce09a"
},
"downloads": -1,
"filename": "Cactus-3.2.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "95d167c02e763c6429315976b98b0dba",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 318755,
"upload_time": "2015-10-06T19:20:13",
"url": "https://files.pythonhosted.org/packages/5b/7e/e49522ecc835ed180a45b99dd413a5f77b9356307504e4e6c38e7c2a93ad/Cactus-3.2.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8f4da3c04ba51fbf6748f85185cf2dea",
"sha256": "60cf8c19ba146879c4c3cb6827bff4fbe2ce500971c07a321ee412841904dd6d"
},
"downloads": -1,
"filename": "Cactus-3.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f4da3c04ba51fbf6748f85185cf2dea",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 318762,
"upload_time": "2015-10-06T19:21:02",
"url": "https://files.pythonhosted.org/packages/92/2c/ee0f2c7fed0044fe226c38aa92b2a7729ee8a01fc3d6cd4c958f9bf9d0e4/Cactus-3.2.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "157d32fcf679b33851c757f2ea697705",
"sha256": "876371d8b8e4bafe232ea90041e01f09cb3cce2ceb7567ba5e8d694350053094"
},
"downloads": -1,
"filename": "Cactus-3.2.0.tar.gz",
"has_sig": false,
"md5_digest": "157d32fcf679b33851c757f2ea697705",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 270348,
"upload_time": "2015-10-06T19:20:19",
"url": "https://files.pythonhosted.org/packages/02/85/7c11d523790631eebd6d5c6d61cea20f399e03e37f79589e6cabd67b8dfd/Cactus-3.2.0.tar.gz"
}
],
"3.3.0": [
{
"comment_text": "",
"digests": {
"md5": "075171ca228988ad358c0b0250e3923d",
"sha256": "b3a700a97f27fc0f2972f805dc41111abbca56a70ded0ba48987f16382fd0253"
},
"downloads": -1,
"filename": "Cactus-3.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "075171ca228988ad358c0b0250e3923d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 319999,
"upload_time": "2015-10-17T01:54:09",
"url": "https://files.pythonhosted.org/packages/fb/07/289bb1ab1b8bb32bee210784cc5b5841fbe67fce3e42d7d1113569c12616/Cactus-3.3.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e84a05eeedd9994e71e17115fb3d000d",
"sha256": "f117df171fac78890e593b9337cef9deb1b284581c307001d9a853e7ce4ae6a7"
},
"downloads": -1,
"filename": "Cactus-3.3.0.tar.gz",
"has_sig": false,
"md5_digest": "e84a05eeedd9994e71e17115fb3d000d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 271032,
"upload_time": "2015-10-17T01:54:22",
"url": "https://files.pythonhosted.org/packages/9e/6c/ed1b280cfc0e6f3ec53eaf41d3d2df53ab2401f5fb8367fa2cb41bd65914/Cactus-3.3.0.tar.gz"
}
],
"3.3.1": [
{
"comment_text": "",
"digests": {
"md5": "9a640a7b4a5980a66c5d294f80da5f43",
"sha256": "934e9b346968b51aa121b1d1e9328fba9d7fbc1d7d607027b15ad13389f2d92e"
},
"downloads": -1,
"filename": "Cactus-3.3.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9a640a7b4a5980a66c5d294f80da5f43",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 320215,
"upload_time": "2015-10-17T14:58:41",
"url": "https://files.pythonhosted.org/packages/21/f9/6ffa4e49500ccd91fe5c8cba068704d400c2d04d11b914bf897395e67a9e/Cactus-3.3.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "36e566d30be5bf5c134de08395220e60",
"sha256": "a4af8c8cc56783ce596123c1bf7ebc9d0bc2bf52d55723c2c97fc537a3973fb6"
},
"downloads": -1,
"filename": "Cactus-3.3.1.tar.gz",
"has_sig": false,
"md5_digest": "36e566d30be5bf5c134de08395220e60",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 271026,
"upload_time": "2015-10-17T14:58:47",
"url": "https://files.pythonhosted.org/packages/c1/f2/c1a55d3ea65d04ac90611bcc0f0616a1fb7a8952a2155911ed4689f9dfa5/Cactus-3.3.1.tar.gz"
}
],
"3.3.2": [
{
"comment_text": "",
"digests": {
"md5": "ecf1668ff1ab3717e5d8c61f5b85390a",
"sha256": "640822d14e791e7635cb412e3d5c63d36f562e6424a94732ee12c592ca2c2466"
},
"downloads": -1,
"filename": "Cactus-3.3.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ecf1668ff1ab3717e5d8c61f5b85390a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 320214,
"upload_time": "2015-10-18T15:43:52",
"url": "https://files.pythonhosted.org/packages/7c/4e/6f14de490274cdda3f85a8d062b31cb86c60341c33371aa74cd29b88fcbe/Cactus-3.3.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5b5cc61b15acb3e09fa23d5051726e4c",
"sha256": "eb35051e2ef6468ca294aeeaeeaa002c47fb31747ddf057d1ce3c468187f292e"
},
"downloads": -1,
"filename": "Cactus-3.3.2.tar.gz",
"has_sig": false,
"md5_digest": "5b5cc61b15acb3e09fa23d5051726e4c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 271043,
"upload_time": "2015-10-18T15:43:59",
"url": "https://files.pythonhosted.org/packages/e3/55/9b63de41dc1df7a75ff73c09b57c73b408dba20e93800e5a1dcbea1c7ab7/Cactus-3.3.2.tar.gz"
}
],
"3.3.3": [
{
"comment_text": "",
"digests": {
"md5": "1657cc65f1dc264caa45213eea02cb3a",
"sha256": "5504abf83b9bc8e0144f890695a44d6c08099bb5fb5ee33b1030ff1ddfcea87c"
},
"downloads": -1,
"filename": "Cactus-3.3.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1657cc65f1dc264caa45213eea02cb3a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 313522,
"upload_time": "2016-02-21T17:10:55",
"url": "https://files.pythonhosted.org/packages/81/f4/3b001724737e74c75a86a60b9c3743e76176cfc4ae659d8f72904a851d64/Cactus-3.3.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8a81581a5c62ffdbdb1a626f64062710",
"sha256": "d944fbc7552307db00ca2375aaed10f39cd025627200197bb5bb0224b3219579"
},
"downloads": -1,
"filename": "Cactus-3.3.3.tar.gz",
"has_sig": false,
"md5_digest": "8a81581a5c62ffdbdb1a626f64062710",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 270466,
"upload_time": "2016-02-21T17:11:03",
"url": "https://files.pythonhosted.org/packages/bb/15/e4e432ff3d6d5de967233f677899e62cc4c2241075040b3e82f4ad4eb901/Cactus-3.3.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1657cc65f1dc264caa45213eea02cb3a",
"sha256": "5504abf83b9bc8e0144f890695a44d6c08099bb5fb5ee33b1030ff1ddfcea87c"
},
"downloads": -1,
"filename": "Cactus-3.3.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1657cc65f1dc264caa45213eea02cb3a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 313522,
"upload_time": "2016-02-21T17:10:55",
"url": "https://files.pythonhosted.org/packages/81/f4/3b001724737e74c75a86a60b9c3743e76176cfc4ae659d8f72904a851d64/Cactus-3.3.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8a81581a5c62ffdbdb1a626f64062710",
"sha256": "d944fbc7552307db00ca2375aaed10f39cd025627200197bb5bb0224b3219579"
},
"downloads": -1,
"filename": "Cactus-3.3.3.tar.gz",
"has_sig": false,
"md5_digest": "8a81581a5c62ffdbdb1a626f64062710",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 270466,
"upload_time": "2016-02-21T17:11:03",
"url": "https://files.pythonhosted.org/packages/bb/15/e4e432ff3d6d5de967233f677899e62cc4c2241075040b3e82f4ad4eb901/Cactus-3.3.3.tar.gz"
}
]
}