summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2020-12-29 18:44:04 -0600
committerGitHub <noreply@github.com>2020-12-29 16:44:04 -0800
commita4accff26614af1b36e239035a22acf72a328313 (patch)
treed9880a891bc9239c889ce8926d6c01b01c28c757
parentc22141f444861abeaee297a3d92696e9ae94a509 (diff)
downloadspack-a4accff26614af1b36e239035a22acf72a328313.tar.gz
spack-a4accff26614af1b36e239035a22acf72a328313.tar.bz2
spack-a4accff26614af1b36e239035a22acf72a328313.tar.xz
spack-a4accff26614af1b36e239035a22acf72a328313.zip
PythonPackage: url -> pypi (#20610)
* Convert all `url` attributes in `PythonPackage`s to `pypi` attributes * add `pypi =` to flake8 exceptions
-rw-r--r--share/spack/qa/flake8_formatter.py1
-rw-r--r--var/spack/repos/builtin/packages/aws-parallelcluster/package.py2
-rw-r--r--var/spack/repos/builtin/packages/awscli/package.py3
-rw-r--r--var/spack/repos/builtin/packages/bumpversion/package.py3
-rw-r--r--var/spack/repos/builtin/packages/cget/package.py2
-rw-r--r--var/spack/repos/builtin/packages/easybuild/package.py2
-rw-r--r--var/spack/repos/builtin/packages/httpie/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-3to2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-4suite-xml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-abipy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-absl-py/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-adal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aenum/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-agate-dbf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-agate-excel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-agate-sql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-agate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aiofiles/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aiohttp-cors/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aioredis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-alabaster/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-alembic/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-altgraph/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-amqp/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-apache-beam/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-apache-libcloud/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-apex/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-apipkg/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-appdirs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-applicationinsights/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-appnope/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-apptools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-apscheduler/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-archspec/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-argcomplete/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-argon2-cffi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-argparse/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-args/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-arrow/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-arviz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-asciitree/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-asdf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ase/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-asn1crypto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aspy-yaml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-asteval/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-astor/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-astpretty/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-astropy-healpix/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-astropy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-astunparse/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-async-generator/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-atomicwrites/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-atropos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-attrs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-audioread/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-autograd-gamma/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-autograd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-autopep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-auxlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-avro-json-serializer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-avro-python3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-avro/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-awesome-slugify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-batch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-common/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cosmos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-datalake-store/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-graphrbac/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-identity/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-loganalytics/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-nspkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-common/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-babel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-backcall/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-backports-tempfile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-backports-weakref/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bcbio-gff/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-bcolz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-beautifulsoup4/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-billiard/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-bintrees/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-binwalk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-biom-format/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-biopandas/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bitarray/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-bitstring/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-black/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bleach/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-blessed/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-blessings/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-blinker/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-blis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bokeh/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-boltons/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-boto3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-botocore/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bottleneck/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-brian/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-brian2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-brotlipy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bsddb3/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-bx-python/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-bz2file/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cached-property/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cachetools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cairocffi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-catalogue/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-catkin-pkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cdat-lite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cdo/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cdsapi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-celery/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-certifi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-certipy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cf-units/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cffi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cfgv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-chai/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-chainmap/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-chardet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-charm4py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-checkm-genome/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cheetah/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cheroot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cherrypy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cinemasci/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-click-didyoumean/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-click-plugins/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-click-repl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-click/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-clint/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-clipboard/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cloudpickle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cmake-format/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cmake/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cmocean/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cnvkit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-codecov/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cogent/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-colorama/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-coloredlogs/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-colorful/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-colorlog/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-colormath/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-colorpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-colorspacious/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-commonmark/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-configobj/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-configparser/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-contextily/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-contextvars/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-convertdate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-counter/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cov-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-coverage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cppheaderparser/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-crcmod/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-crispresso/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cryptography/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-csvkit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cupy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-current/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cutadapt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cvxopt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cvxpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cymem/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cyordereddict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-cython/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-cyvcf2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dadi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dask/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dataclasses/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dateparser/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dbf/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-dbfread/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-deap/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-decorator/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-deeptools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-defusedxml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dendropy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-deprecation/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-descartes/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-dill/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-discover/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-diskcache/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-distributed/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-distro/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dnaio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-docker/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-docopt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-docutils-stubs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-docutils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dominate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-doxypy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-doxypypy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-drmaa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-dryscrape/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-earthengine-api/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-framework/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ecdsa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ecos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-editdistance/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-elasticsearch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-elephant/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-emcee/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-empy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-entrypoints/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-enum34/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-envisage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-epydoc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-et-xmlfile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-execnet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-exodus-bundler/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-extension-helpers/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-extras/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fabric/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fallocate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fastaindex/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fastcache/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fastcluster/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fastdtw/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fasteners/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-filelock/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-filemagic/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fiona/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fiscalyear/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fisher/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fixtures/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-flake8-import-order/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-flake8-polyfill/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-flask-compress/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-flask-socketio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-flask/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-flexx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fortranformat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fprettify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-freezegun/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fsspec/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-funcsigs/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-functools32/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-fusepy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-future/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-futures/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-gast/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gcovr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gdbgui/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geeadd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geeup/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gensim/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geoalchemy2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geographiclib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geopandas/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geoplot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-geopy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gevent/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-git-review/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gitdb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gitpython/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-goatools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-api-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-api-python-client/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-auth/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-cloud-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-cloud-storage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-pasta/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google-resumable-media/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-google/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-googledrivedownloader/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gpaw/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gpustat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gputil/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gpytorch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-graphviz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-greenlet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-grequests/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-griddataformats/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-grpcio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gsd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gsi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-guidata/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-guiqwt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h11/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h5glance/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h5sh/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hacking/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hdfs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-healpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-heapdict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hepdata-validator/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hepunits/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hieroglyph/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hiredis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hpack/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hpcbench/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hpccm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hstspreload/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-html2text/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-html5lib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-httpbin/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-httpcore/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-httplib2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-httptools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-httpx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-humanfriendly/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-humanize/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hyperframe/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-hypothesis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-identify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-idna/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-illumina-utils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-imageio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-imagesize/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-iminuit/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-immutables/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-importlib-metadata/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-importlib-resources/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-importlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-iniparse/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-invoke/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ipaddress/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ipdb/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-ipykernel/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-ipython-genutils/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-ipython/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-irpf90/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-isodate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-isort/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-itsdangerous/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jaraco-functools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-javaproperties/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jdatetime/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jdcal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jedi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jeepney/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jellyfish/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jmespath/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-joblib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jplephem/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-jprops/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jpype1/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsmin/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-json5/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsondiff/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpatch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpickle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpointer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsonref/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jsonschema/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-junit-xml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-client/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterhub/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab-server/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-keras-preprocessing/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-keras/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-kerberos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-kitchen/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-kiwisolver/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-kmodes/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-knack/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-kombu/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-lark-parser/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-latexcodec/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lazy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-lazyarray/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-leather/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-libconf/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-libensemble/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-librosa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lifelines/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ligo-segments/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-line-profiler/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-linecache2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lit/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-llvmlite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lmfit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lmodule/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-localcider/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-locket/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lockfile/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-logilab-common/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lru-dict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lscsoft-glue/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-luigi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lxml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lz4/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-lzstring/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-macholib/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-machotools/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-macs2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-maestrowf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mako/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-mapclassify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-markdown/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-markovify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-markupsafe/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mayavi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mdanalysis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mechanize/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-memory-profiler/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mercantile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-merlin/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-minrpc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-misopy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mmtf-python/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mock/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-monotonic/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-monty/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-more-itertools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mpi4py/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-mpld3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mpmath/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-msal-extensions/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-msal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-msgpack/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-msrest/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-msrestazure/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-multi-key-dict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-multiprocess/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-multiqc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-murmurhash/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-myhdl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mypy-extensions/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mypy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mysqlclient/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-natsort/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nbclient/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nbconvert/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nbformat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nc-time-axis/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-neo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-neobolt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-neotime/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nest-asyncio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nestle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-netcdf4/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-netifaces/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-networkit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-networkx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nltk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nodeenv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nose-cov/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nose/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-nose2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nosexcover/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-notebook/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numba/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numcodecs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numexpr/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-numexpr3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-numpydoc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-oauth2client/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-oauthlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-olefile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-onnx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ont-fast5-api/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-opencensus/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-openpyxl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-opt-einsum/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ordereddict/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-oset/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-osqp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-overpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-owslib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-packaging/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-palettable/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pamela/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pandas/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pandocfilters/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-parameterized/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-paramiko/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-paramz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-parse/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-parsedatetime/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-parso/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-partd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-particle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-path-py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pathlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pathlib2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pathos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pathspec/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-patsy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pbr/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pep8-naming/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-periodictable/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-petastorm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-petsc4py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pexpect/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pickleshare/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pillow-simd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pint/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pip/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pkgconfig/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pkginfo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-plac/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-planar/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-planet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-plotly/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pluggy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pmw/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pomegranate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-portend/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-poster/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pox/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ppft/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pre-commit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-preshed/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-prettytable/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-profilehooks/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-progress/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-progressbar2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-prometheus-client/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-prompt-toolkit/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-protobuf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-psutil/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-ptyprocess/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pudb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pure-sasl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-py-cpuinfo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-py2bit/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-py2neo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-py4j/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-py6s/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyani/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyarrow/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyasn1-modules/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyasn1/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pybigwig/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pybtex-docutils/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pybtex/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycairo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycbc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycifrw/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycmd/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pycosat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycparser/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycrypto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycuda/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pycurl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pydatalog/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pydeps/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pydispatcher/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pydot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pydot2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pydotplus/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyeda/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyelftools/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyepsg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyface/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyfaidx/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyfasta/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyfftw/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygdal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygdbmi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygelf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygeos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygit2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyglet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygments-pytest/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygments/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pygps/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyheadtail/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyjwt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pykml/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pykwalify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyliblzma/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pylikwid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pylint/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pymatgen/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pymc3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pymeeus/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyminifier/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pymongo/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pymorph/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pympler/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pymysql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pynacl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pynn/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pynvml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyodbc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyopencl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyopenssl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyparsing/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pypeg2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyperclip/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyperf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyprof2html/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyproj/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyqi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyquaternion/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyrsistent/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pysam/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyscaf/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyserial/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyshp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyside/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyside2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pysmartdl/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pysocks/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pysolar/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyspark/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pysqlite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytailf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-cache/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-check-links/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-cov/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-flake8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-forked/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-httpbin/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-isort/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-mock/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-mypy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-pep8/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-runner/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-xdist/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytest/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-daemon/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-python-dateutil/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-docs-theme/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-editor/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-python-gitlab/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-jenkins/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-json-logger/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-ldap/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-levenshtein/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-logstash/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-lzo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-magic/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-memcached/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-python-oauth2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-python-rapidjson/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-slugify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-socketio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-subunit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-swiftclient/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-python-utils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pythonqwt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytimeparse/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytools/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pytz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyudev/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyugrid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pywavelets/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pyyaml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-qsymm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-qtawesome/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-qtconsole/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-qtpy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-quantities/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-queryablelist/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-radical-utils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ranger-fm/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-rasterio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ratelim/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-raven/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rdflib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-readme-renderer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-recommonmark/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-redis/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-regex/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-reportlab/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-repoze-lru/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-reproject/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests-futures/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests-mock/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests-oauthlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests-toolbelt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-requests/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-resampy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-restview/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-retrying/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rfc3986/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rise/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rope/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rosdep/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rosdistro/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rosinstall-generator/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rosinstall/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rospkg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rpy2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-rsa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rseqc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-rtree/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-yaml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-s3transfer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sacremoses/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-saga-python/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sanic/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scandir/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-image/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-optimize/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scoop/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-seaborn/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-secretstorage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-selenium/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-semantic-version/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-semver/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sentry-sdk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-setproctitle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-git/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-scm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sgp4/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sh/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-shapely/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-shiboken/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-simplegeneric/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-simplejson/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-simplekml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-singledispatch/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-six/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-slurm-pipeline/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-smart-open/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-smmap/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sncosmo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sniffio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-snowballstemmer/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sortedcontainers/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-soundfile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-soupsieve/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spacy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spatialist/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spatialite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spdlog/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spectra/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-spglib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-gallery/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spyder/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-spykeutils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sqlalchemy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-srsly/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sshtunnel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-statsmodels/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-stdlib-list/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-stestr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-stevedore/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-stopit/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-stratify/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-subprocess32/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-svgpathtools/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-svgwrite/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-symengine/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-symfit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-sympy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-systemd-python/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tables/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tabulate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tap-py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tatsu/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tblib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tempora/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboard/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboardx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-termcolor/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-terminado/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-testinfra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-testpath/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-testrepository/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-testresources/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-testscenarios/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-testtools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tetoolkit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-text-unidecode/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-texttable/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-theano/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-thinc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-threadpoolctl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tifffile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tokenizers/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tomlkit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-toolz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-torchfile/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-torchsummary/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-torchtext/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tox/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tpot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tqdm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-traceback2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-traitlets/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-traits/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-traitsui/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-transformers/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-treehash/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-twine/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-twisted/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-typed-ast/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-typing-extensions/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-typing/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tzlocal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ujson/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-umalqurra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-uncertainties/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-unidecode/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-unittest2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-unittest2py3k/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-update-checker/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-uritemplate/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-urllib3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-urwid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-us/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-usgs/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-uvloop/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-uvw/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-uwsgi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vcstool/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vcstools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vcversioner/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vine/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv-clone/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-visdom/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-voluptuous/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vsc-base/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vsc-install/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vsts/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wand/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wasabi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wcwidth/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-weave/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-webencodings/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-webkit-server/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-weblogo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-websocket-client/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-werkzeug/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wheel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-widgetsnbextension/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-wradlib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wrapt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wstool/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wxmplot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-wxpython/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xarray/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xattr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xdot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xenv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xlrd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xlsxwriter/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-xlwt/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-xmlrunner/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xmltodict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xopen/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-xvfbwrapper/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-yahmm/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-yajl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-yamlreader/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-yolk3k/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-youtube-dl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-zarr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-zc-buildout/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-zc-lockfile/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-zict/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-zipp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-zope-event/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-zope-interface/package.py2
-rw-r--r--var/spack/repos/builtin/packages/scons/package.py2
-rw-r--r--var/spack/repos/builtin/packages/snakemake/package.py2
-rw-r--r--var/spack/repos/builtin/packages/tskit/package.py2
993 files changed, 995 insertions, 1130 deletions
diff --git a/share/spack/qa/flake8_formatter.py b/share/spack/qa/flake8_formatter.py
index 0660a97ccf..73aa986af2 100644
--- a/share/spack/qa/flake8_formatter.py
+++ b/share/spack/qa/flake8_formatter.py
@@ -27,6 +27,7 @@ pattern_exemptions = {
r"^\s*git\s*=",
r"^\s*svn\s*=",
r"^\s*hg\s*=",
+ r"^\s*pypi\s*=",
r"^\s*list_url\s*=",
r"^\s*version\(",
r"^\s*variant\(",
diff --git a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
index 2cf26d66e1..65819a155f 100644
--- a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
+++ b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
@@ -12,7 +12,7 @@ class AwsParallelcluster(PythonPackage):
tool to deploy and manage HPC clusters in the AWS cloud."""
homepage = "https://github.com/aws/aws-parallelcluster"
- url = "https://pypi.io/packages/source/a/aws-parallelcluster/aws-parallelcluster-2.10.1.tar.gz"
+ pypi = "aws-parallelcluster/aws-parallelcluster-2.10.1.tar.gz"
maintainers = [
'sean-smith', 'demartinofra', 'enrico-usai', 'lukeseawalker', 'rexcsn',
diff --git a/var/spack/repos/builtin/packages/awscli/package.py b/var/spack/repos/builtin/packages/awscli/package.py
index fcdf4490f5..bb3015e2cc 100644
--- a/var/spack/repos/builtin/packages/awscli/package.py
+++ b/var/spack/repos/builtin/packages/awscli/package.py
@@ -11,8 +11,7 @@ class Awscli(PythonPackage):
"""This package provides a unified command line interface to
Amazon Web Services"""
- homepage = "https://pypi.org/project/awscli/"
- url = "https://pypi.io/packages/source/a/awscli/awscli-1.16.308.tar.gz"
+ pypi = "awscli/awscli-1.16.308.tar.gz"
version('1.16.308', sha256='3632fb1db2538128509a7b5e89f2a2c4ea3426bec139944247bddc4d79bf7603')
version('1.16.179', sha256='6a87114d1325358d000abe22b2103baae7b91f053ff245b9fde33cb0affb5e4f')
diff --git a/var/spack/repos/builtin/packages/bumpversion/package.py b/var/spack/repos/builtin/packages/bumpversion/package.py
index ac7e839153..4c2c01e782 100644
--- a/var/spack/repos/builtin/packages/bumpversion/package.py
+++ b/var/spack/repos/builtin/packages/bumpversion/package.py
@@ -9,8 +9,7 @@ from spack import *
class Bumpversion(PythonPackage):
"""Version-bump your software with a single command."""
- homepage = "https://pypi.python.org/pypi/bumpversion"
- url = "https://pypi.io/packages/source/b/bumpversion/bumpversion-0.5.0.tar.gz"
+ pypi = "bumpversion/bumpversion-0.5.0.tar.gz"
version('0.5.3', sha256='6744c873dd7aafc24453d8b6a1a0d6d109faf63cd0cd19cb78fd46e74932c77e')
version('0.5.0', sha256='030832b9b46848e1c1ac6678dba8242a021e35e908b65565800c9650291117dc')
diff --git a/var/spack/repos/builtin/packages/cget/package.py b/var/spack/repos/builtin/packages/cget/package.py
index ee8bcb1acf..c7078d3355 100644
--- a/var/spack/repos/builtin/packages/cget/package.py
+++ b/var/spack/repos/builtin/packages/cget/package.py
@@ -10,7 +10,7 @@ class Cget(PythonPackage):
"""Cmake package retrieval."""
homepage = "https://github.com/pfultz2/cget"
- url = "https://pypi.io/packages/source/c/cget/cget-0.1.9.tar.gz"
+ pypi = "cget/cget-0.1.9.tar.gz"
version('0.1.9', sha256='2a7913b601bec615208585eda7e69998a43cc17080d36c2ff2ce8742c9794bf6')
diff --git a/var/spack/repos/builtin/packages/easybuild/package.py b/var/spack/repos/builtin/packages/easybuild/package.py
index 7f9ba11fdb..c4ac998efd 100644
--- a/var/spack/repos/builtin/packages/easybuild/package.py
+++ b/var/spack/repos/builtin/packages/easybuild/package.py
@@ -12,7 +12,7 @@ class Easybuild(PythonPackage):
"""
homepage = 'https://easybuilders.github.io/easybuild/'
- url = 'https://pypi.io/packages/source/e/easybuild/easybuild-4.0.0.tar.gz'
+ pypi = 'easybuild/easybuild-4.0.0.tar.gz'
maintainers = ['boegel']
version('4.0.0', sha256='21bcc1048525ad6219667cc97a7421b5388068c670cabba356712e474896de40')
diff --git a/var/spack/repos/builtin/packages/httpie/package.py b/var/spack/repos/builtin/packages/httpie/package.py
index 53b95337b5..f36489f7b0 100644
--- a/var/spack/repos/builtin/packages/httpie/package.py
+++ b/var/spack/repos/builtin/packages/httpie/package.py
@@ -10,7 +10,7 @@ class Httpie(PythonPackage):
"""Modern command line HTTP client."""
homepage = "https://httpie.org/"
- url = "https://pypi.io/packages/source/h/httpie/httpie-0.9.8.tar.gz"
+ pypi = "httpie/httpie-0.9.8.tar.gz"
version('0.9.9', sha256='f1202e6fa60367e2265284a53f35bfa5917119592c2ab08277efc7fffd744fcb')
version('0.9.8', sha256='515870b15231530f56fe2164190581748e8799b66ef0fe36ec9da3396f0df6e1')
diff --git a/var/spack/repos/builtin/packages/py-3to2/package.py b/var/spack/repos/builtin/packages/py-3to2/package.py
index facf4b4067..83ee7ceeda 100644
--- a/var/spack/repos/builtin/packages/py-3to2/package.py
+++ b/var/spack/repos/builtin/packages/py-3to2/package.py
@@ -10,7 +10,6 @@ class Py3to2(PythonPackage):
"""lib3to2 is a set of fixers that are intended to backport code written
for Python version 3.x into Python version 2.x."""
- homepage = "https://pypi.python.org/pypi/3to2"
- url = "https://pypi.io/packages/source/3/3to2/3to2-1.1.1.zip"
+ pypi = "3to2/3to2-1.1.1.zip"
version('1.1.1', sha256='fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c')
diff --git a/var/spack/repos/builtin/packages/py-4suite-xml/package.py b/var/spack/repos/builtin/packages/py-4suite-xml/package.py
index a848e1a63a..3e0f347105 100644
--- a/var/spack/repos/builtin/packages/py-4suite-xml/package.py
+++ b/var/spack/repos/builtin/packages/py-4suite-xml/package.py
@@ -11,7 +11,7 @@ class Py4suiteXml(PythonPackage):
XLink, XUpdate"""
homepage = "http://4suite.org/"
- url = "https://pypi.io/packages/source/4/4Suite-XML/4Suite-XML-1.0.2.tar.gz"
+ pypi = "4Suite-XML/4Suite-XML-1.0.2.tar.gz"
version('1.0.2', sha256='f0c24132eb2567e64b33568abff29a780a2f0236154074d0b8f5262ce89d8c03')
diff --git a/var/spack/repos/builtin/packages/py-abipy/package.py b/var/spack/repos/builtin/packages/py-abipy/package.py
index b9b476b096..f28af28ffa 100644
--- a/var/spack/repos/builtin/packages/py-abipy/package.py
+++ b/var/spack/repos/builtin/packages/py-abipy/package.py
@@ -11,7 +11,7 @@ class PyAbipy(PythonPackage):
the results."""
homepage = "https://github.com/abinit/abipy"
- url = "https://pypi.io/packages/source/a/abipy/abipy-0.2.0.tar.gz"
+ pypi = "abipy/abipy-0.2.0.tar.gz"
version('0.2.0', sha256='c72b796ba0f9ea4299eac3085bede092d2652e9e5e8074d3badd19ef7b600792')
diff --git a/var/spack/repos/builtin/packages/py-absl-py/package.py b/var/spack/repos/builtin/packages/py-absl-py/package.py
index 5d77a4095e..d316729f67 100644
--- a/var/spack/repos/builtin/packages/py-absl-py/package.py
+++ b/var/spack/repos/builtin/packages/py-absl-py/package.py
@@ -14,8 +14,7 @@ class PyAbslPy(PythonPackage):
extensively tested and used in production.
"""
- homepage = "https://pypi.org/project/absl-py/"
- url = "https://pypi.io/packages/source/a/absl-py/absl-py-0.7.0.tar.gz"
+ pypi = "absl-py/absl-py-0.7.0.tar.gz"
version('0.7.1', sha256='b943d1c567743ed0455878fcd60bc28ac9fae38d129d1ccfad58079da00b8951')
version('0.7.0', sha256='8718189e4bd6013bf79910b9d1cb0a76aecad8ce664f78e1144980fabdd2cd23')
diff --git a/var/spack/repos/builtin/packages/py-adal/package.py b/var/spack/repos/builtin/packages/py-adal/package.py
index b1fac54c0f..903181c5a8 100644
--- a/var/spack/repos/builtin/packages/py-adal/package.py
+++ b/var/spack/repos/builtin/packages/py-adal/package.py
@@ -12,7 +12,7 @@ class PyAdal(PythonPackage):
DEPRECATED: replaced by MSAL Python."""
homepage = "https://github.com/AzureAD/azure-activedirectory-library-for-python"
- url = "https://pypi.io/packages/source/a/adal/adal-1.2.4.tar.gz"
+ pypi = "adal/adal-1.2.4.tar.gz"
version('1.2.4', sha256='7a15d22b1ee7ce1be92441199958748982feba6b7dec35fbf60f9b607bad1bc0')
diff --git a/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py b/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py
index 11daf7db41..16a2c1f289 100644
--- a/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py
+++ b/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py
@@ -12,7 +12,7 @@ class PyAdvancedhtmlparser(PythonPackage):
modification, and formatting"""
homepage = "https://github.com/kata198/AdvancedHTMLParser"
- url = "https://pypi.io/packages/source/a/advancedhtmlparser/AdvancedHTMLParser-8.1.4.tar.gz"
+ pypi = "advancedhtmlparser/AdvancedHTMLParser-8.1.4.tar.gz"
version('8.1.4', sha256='21a73137026c8ec3248c654a24cc40064196029256cdf71681149f6835e9ed39')
diff --git a/var/spack/repos/builtin/packages/py-aenum/package.py b/var/spack/repos/builtin/packages/py-aenum/package.py
index fb275c7891..ca35549f57 100644
--- a/var/spack/repos/builtin/packages/py-aenum/package.py
+++ b/var/spack/repos/builtin/packages/py-aenum/package.py
@@ -11,7 +11,7 @@ class PyAenum(PythonPackage):
NamedTuples, and NamedConstants."""
homepage = "https://bitbucket.org/stoneleaf/aenum"
- url = "https://pypi.io/packages/source/a/aenum/aenum-2.1.2.tar.gz"
+ pypi = "aenum/aenum-2.1.2.tar.gz"
version('2.1.2', sha256='a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687')
diff --git a/var/spack/repos/builtin/packages/py-agate-dbf/package.py b/var/spack/repos/builtin/packages/py-agate-dbf/package.py
index e5a64ed299..5d44825f4a 100644
--- a/var/spack/repos/builtin/packages/py-agate-dbf/package.py
+++ b/var/spack/repos/builtin/packages/py-agate-dbf/package.py
@@ -10,7 +10,7 @@ class PyAgateDbf(PythonPackage):
"""agate-dbf adds read support for dbf files to agate."""
homepage = "https://agate-dbf.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/a/agate-dbf/agate-dbf-0.2.1.tar.gz"
+ pypi = "agate-dbf/agate-dbf-0.2.1.tar.gz"
version('0.2.1', sha256='00c93c498ec9a04cc587bf63dd7340e67e2541f0df4c9a7259d7cb3dd4ce372f')
diff --git a/var/spack/repos/builtin/packages/py-agate-excel/package.py b/var/spack/repos/builtin/packages/py-agate-excel/package.py
index f129ff9b5c..ee9882a282 100644
--- a/var/spack/repos/builtin/packages/py-agate-excel/package.py
+++ b/var/spack/repos/builtin/packages/py-agate-excel/package.py
@@ -11,7 +11,7 @@ class PyAgateExcel(PythonPackage):
agate."""
homepage = "https://agate-excel.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/a/agate-excel/agate-excel-0.2.3.tar.gz"
+ pypi = "agate-excel/agate-excel-0.2.3.tar.gz"
version('0.2.3', sha256='8f255ef2c87c436b7132049e1dd86c8e08bf82d8c773aea86f3069b461a17d52')
diff --git a/var/spack/repos/builtin/packages/py-agate-sql/package.py b/var/spack/repos/builtin/packages/py-agate-sql/package.py
index 340ac94245..a159422a3e 100644
--- a/var/spack/repos/builtin/packages/py-agate-sql/package.py
+++ b/var/spack/repos/builtin/packages/py-agate-sql/package.py
@@ -10,7 +10,7 @@ class PyAgateSql(PythonPackage):
"""agate-sql adds SQL read/write support to agate."""
homepage = "https://agate-sql.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/a/agate-sql/agate-sql-0.5.4.tar.gz"
+ pypi = "agate-sql/agate-sql-0.5.4.tar.gz"
version('0.5.4', sha256='9277490ba8b8e7c747a9ae3671f52fe486784b48d4a14e78ca197fb0e36f281b')
diff --git a/var/spack/repos/builtin/packages/py-agate/package.py b/var/spack/repos/builtin/packages/py-agate/package.py
index 849e65574b..241339b94e 100644
--- a/var/spack/repos/builtin/packages/py-agate/package.py
+++ b/var/spack/repos/builtin/packages/py-agate/package.py
@@ -12,7 +12,7 @@ class PyAgate(PythonPackage):
real-world problems with readable code."""
homepage = "https://agate.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/a/agate/agate-1.6.1.tar.gz"
+ pypi = "agate/agate-1.6.1.tar.gz"
version('1.6.1', sha256='c93aaa500b439d71e4a5cf088d0006d2ce2c76f1950960c8843114e5f361dfd3')
diff --git a/var/spack/repos/builtin/packages/py-aiofiles/package.py b/var/spack/repos/builtin/packages/py-aiofiles/package.py
index b6248f37e7..37ac99cd74 100644
--- a/var/spack/repos/builtin/packages/py-aiofiles/package.py
+++ b/var/spack/repos/builtin/packages/py-aiofiles/package.py
@@ -11,7 +11,7 @@ class PyAiofiles(PythonPackage):
handling local disk files in asyncio applications."""
homepage = "https://github.com/Tinche/aiofiles"
- url = "https://pypi.io/packages/source/a/aiofiles/aiofiles-0.5.0.tar.gz"
+ pypi = "aiofiles/aiofiles-0.5.0.tar.gz"
version('0.5.0', sha256='98e6bcfd1b50f97db4980e182ddd509b7cc35909e903a8fe50d8849e02d815af')
diff --git a/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py b/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
index 8d4dd2f7d1..8f60cdee05 100644
--- a/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
+++ b/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
@@ -9,7 +9,7 @@ class PyAiohttpCors(PythonPackage):
support for aiohttp asyncio-powered asynchronous HTTP server."""
homepage = "https://github.com/aio-libs/aiohttp-cors"
- url = "https://pypi.io/packages/source/a/aiohttp_cors/aiohttp-cors-0.7.0.tar.gz"
+ pypi = "aiohttp_cors/aiohttp-cors-0.7.0.tar.gz"
version('0.7.0', sha256='4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d')
diff --git a/var/spack/repos/builtin/packages/py-aioredis/package.py b/var/spack/repos/builtin/packages/py-aioredis/package.py
index 6760e58471..d25ad51d34 100644
--- a/var/spack/repos/builtin/packages/py-aioredis/package.py
+++ b/var/spack/repos/builtin/packages/py-aioredis/package.py
@@ -8,7 +8,7 @@ class PyAioredis(PythonPackage):
"""asyncio (PEP 3156) Redis support."""
homepage = "https://github.com/aio-libs/aioredis"
- url = "https://pypi.io/packages/source/a/aioredis/aioredis-1.3.1.tar.gz"
+ pypi = "aioredis/aioredis-1.3.1.tar.gz"
version('1.3.1', sha256='15f8af30b044c771aee6787e5ec24694c048184c7b9e54c3b60c750a4b93273a')
diff --git a/var/spack/repos/builtin/packages/py-alabaster/package.py b/var/spack/repos/builtin/packages/py-alabaster/package.py
index 65ed9f89b6..617a6b2b8d 100644
--- a/var/spack/repos/builtin/packages/py-alabaster/package.py
+++ b/var/spack/repos/builtin/packages/py-alabaster/package.py
@@ -11,7 +11,7 @@ class PyAlabaster(PythonPackage):
for the Sphinx documentation system."""
homepage = "https://alabaster.readthedocs.io/"
- url = "https://pypi.io/packages/source/a/alabaster/alabaster-0.7.10.tar.gz"
+ pypi = "alabaster/alabaster-0.7.10.tar.gz"
version('0.7.12', sha256='a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02')
version('0.7.10', sha256='37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0')
diff --git a/var/spack/repos/builtin/packages/py-alembic/package.py b/var/spack/repos/builtin/packages/py-alembic/package.py
index 86b75bc361..c4a7474bc8 100644
--- a/var/spack/repos/builtin/packages/py-alembic/package.py
+++ b/var/spack/repos/builtin/packages/py-alembic/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyAlembic(PythonPackage):
"""Alembic is a database migrations tool."""
- homepage = "https://pypi.org/project/alembic/"
- url = "https://pypi.io/packages/source/a/alembic/alembic-1.0.7.tar.gz"
+ pypi = "alembic/alembic-1.0.7.tar.gz"
version('1.0.7', sha256='16505782b229007ae905ef9e0ae6e880fddafa406f086ac7d442c1aaf712f8c2')
diff --git a/var/spack/repos/builtin/packages/py-altgraph/package.py b/var/spack/repos/builtin/packages/py-altgraph/package.py
index 221fc3de85..f1fe2ef81c 100644
--- a/var/spack/repos/builtin/packages/py-altgraph/package.py
+++ b/var/spack/repos/builtin/packages/py-altgraph/package.py
@@ -13,8 +13,7 @@ class PyAltgraph(PythonPackage):
topological sort, shortest paths, etc. with graphviz output.
"""
- homepage = "https://pypi.python.org/pypi/altgraph"
- url = "https://pypi.io/packages/source/a/altgraph/altgraph-0.16.1.tar.gz"
+ pypi = "altgraph/altgraph-0.16.1.tar.gz"
version('0.16.1', "ddf5320017147ba7b810198e0b6619bd7b5563aa034da388cea8546b877f9b0c")
diff --git a/var/spack/repos/builtin/packages/py-amqp/package.py b/var/spack/repos/builtin/packages/py-amqp/package.py
index 63f85069b0..aa0931a4eb 100644
--- a/var/spack/repos/builtin/packages/py-amqp/package.py
+++ b/var/spack/repos/builtin/packages/py-amqp/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyAmqp(PythonPackage):
"""Low-level AMQP client for Python (fork of amqplib)."""
- homepage = "https://pypi.org/project/amqp/"
- url = "https://pypi.io/packages/source/a/amqp/amqp-2.4.1.tar.gz"
+ pypi = "amqp/amqp-2.4.1.tar.gz"
version('5.0.1', sha256='9881f8e6fe23e3db9faa6cfd8c05390213e1d1b95c0162bc50552cad75bffa5f')
version('2.6.1', sha256='70cdb10628468ff14e57ec2f751c7aa9e48e7e3651cfd62d431213c0c4e58f21')
diff --git a/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py b/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py
index 2684416f08..a88990cdeb 100644
--- a/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py
+++ b/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py
@@ -13,7 +13,7 @@ class PyAntlr4Python3Runtime(PythonPackage):
"""
homepage = "https://www.antlr.org"
- url = "https://pypi.io/packages/source/a/antlr4-python3-runtime/antlr4-python3-runtime-4.7.2.tar.gz"
+ pypi = "antlr4-python3-runtime/antlr4-python3-runtime-4.7.2.tar.gz"
version('4.7.2', sha256='168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b')
diff --git a/var/spack/repos/builtin/packages/py-apache-beam/package.py b/var/spack/repos/builtin/packages/py-apache-beam/package.py
index d06ebd20bd..f1b9352997 100644
--- a/var/spack/repos/builtin/packages/py-apache-beam/package.py
+++ b/var/spack/repos/builtin/packages/py-apache-beam/package.py
@@ -10,7 +10,7 @@ class PyApacheBeam(PythonPackage):
"""Apache Beam is a unified programming model for Batch and Streaming."""
homepage = "https://github.com/apache/beam"
- url = "https://pypi.io/packages/source/a/apache-beam/apache-beam-2.24.0.zip"
+ pypi = "apache-beam/apache-beam-2.24.0.zip"
version('2.24.0', sha256='55c50b1a964bacc840a5e4cc3b4a42c4ef09d12192d215ba3cad65d4d22e09dd')
diff --git a/var/spack/repos/builtin/packages/py-apache-libcloud/package.py b/var/spack/repos/builtin/packages/py-apache-libcloud/package.py
index 2b2034d98d..0a08f0ac32 100644
--- a/var/spack/repos/builtin/packages/py-apache-libcloud/package.py
+++ b/var/spack/repos/builtin/packages/py-apache-libcloud/package.py
@@ -10,7 +10,7 @@ class PyApacheLibcloud(PythonPackage):
"""Python library for multiple cloud provider APIs"""
homepage = "http://libcloud.apache.org"
- url = "https://pypi.io/packages/source/a/apache-libcloud/apache-libcloud-1.2.1.tar.gz"
+ pypi = "apache-libcloud/apache-libcloud-1.2.1.tar.gz"
version('1.2.1', sha256='b26b542c6c9785dd4e34892d87421ffa4c043335c1cba301a97a8d9748c423f2')
diff --git a/var/spack/repos/builtin/packages/py-apex/package.py b/var/spack/repos/builtin/packages/py-apex/package.py
index 0132a01c4d..34e2a97d6b 100644
--- a/var/spack/repos/builtin/packages/py-apex/package.py
+++ b/var/spack/repos/builtin/packages/py-apex/package.py
@@ -10,8 +10,7 @@ class PyApex(PythonPackage):
"""apex: Pyramid toolkit to add Velruse, Flash Messages,CSRF,
ReCaptcha and Sessions."""
- homepage = "https://pypi.org/project/apex/"
- url = "https://pypi.io/packages/source/a/apex/apex-0.9.10dev.tar.gz"
+ pypi = "apex/apex-0.9.10dev.tar.gz"
version('0.9.10dev', sha256='48aa6d9e805e661e609161bd52e0d02d89a9a32f32dc29cde6c950df58129119')
diff --git a/var/spack/repos/builtin/packages/py-apipkg/package.py b/var/spack/repos/builtin/packages/py-apipkg/package.py
index f5812df50d..44f9b42b60 100644
--- a/var/spack/repos/builtin/packages/py-apipkg/package.py
+++ b/var/spack/repos/builtin/packages/py-apipkg/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyApipkg(PythonPackage):
"""apipkg: namespace control and lazy-import mechanism"""
- homepage = "https://pypi.python.org/pypi/apipkg"
- url = "https://pypi.io/packages/source/a/apipkg/apipkg-1.4.tar.gz"
+ pypi = "apipkg/apipkg-1.4.tar.gz"
version('1.5', sha256='37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6')
version('1.4', sha256='2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6')
diff --git a/var/spack/repos/builtin/packages/py-appdirs/package.py b/var/spack/repos/builtin/packages/py-appdirs/package.py
index 87e3bba0e7..8ad93862a1 100644
--- a/var/spack/repos/builtin/packages/py-appdirs/package.py
+++ b/var/spack/repos/builtin/packages/py-appdirs/package.py
@@ -11,7 +11,7 @@ class PyAppdirs(PythonPackage):
dirs, e.g. a "user data dir"."""
homepage = "https://github.com/ActiveState/appdirs"
- url = "https://pypi.io/packages/source/a/appdirs/appdirs-1.4.3.tar.gz"
+ pypi = "appdirs/appdirs-1.4.3.tar.gz"
version('1.4.3', sha256='9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92')
version('1.4.0', sha256='8fc245efb4387a4e3e0ac8ebcc704582df7d72ff6a42a53f5600bbb18fdaadc5')
diff --git a/var/spack/repos/builtin/packages/py-applicationinsights/package.py b/var/spack/repos/builtin/packages/py-applicationinsights/package.py
index a14808abab..b367d20442 100644
--- a/var/spack/repos/builtin/packages/py-applicationinsights/package.py
+++ b/var/spack/repos/builtin/packages/py-applicationinsights/package.py
@@ -9,7 +9,7 @@ class PyApplicationinsights(PythonPackage):
Python."""
homepage = "https://github.com/Microsoft/ApplicationInsights-Python"
- url = "https://pypi.io/packages/source/a/applicationinsights/applicationinsights-0.11.9.tar.gz"
+ pypi = "applicationinsights/applicationinsights-0.11.9.tar.gz"
version('0.11.9', sha256='30a11aafacea34f8b160fbdc35254c9029c7e325267874e3c68f6bdbcd6ed2c3')
diff --git a/var/spack/repos/builtin/packages/py-appnope/package.py b/var/spack/repos/builtin/packages/py-appnope/package.py
index 07640da7f9..c73a44eb10 100644
--- a/var/spack/repos/builtin/packages/py-appnope/package.py
+++ b/var/spack/repos/builtin/packages/py-appnope/package.py
@@ -10,6 +10,6 @@ class PyAppnope(PythonPackage):
"""Disable App Nap on OS X 10.9"""
homepage = "https://github.com/minrk/appnope"
- url = "https://pypi.io/packages/source/a/appnope/appnope-0.1.0.tar.gz"
+ pypi = "appnope/appnope-0.1.0.tar.gz"
version('0.1.0', sha256='8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71')
diff --git a/var/spack/repos/builtin/packages/py-apptools/package.py b/var/spack/repos/builtin/packages/py-apptools/package.py
index 4ac8da1c79..131dd04a9e 100644
--- a/var/spack/repos/builtin/packages/py-apptools/package.py
+++ b/var/spack/repos/builtin/packages/py-apptools/package.py
@@ -10,7 +10,7 @@ class PyApptools(PythonPackage):
that is commonly needed by many applications."""
homepage = "https://docs.enthought.com/apptools"
- url = "https://pypi.io/packages/source/a/apptools/apptools-4.5.0.tar.gz"
+ pypi = "apptools/apptools-4.5.0.tar.gz"
version('4.5.0', sha256='260ae0e2a86cb2df2fede631ab6ac8ece694a58a1def78cd015c890c57140582')
diff --git a/var/spack/repos/builtin/packages/py-apscheduler/package.py b/var/spack/repos/builtin/packages/py-apscheduler/package.py
index a4ba440e90..27c6d5f336 100644
--- a/var/spack/repos/builtin/packages/py-apscheduler/package.py
+++ b/var/spack/repos/builtin/packages/py-apscheduler/package.py
@@ -10,7 +10,7 @@ class PyApscheduler(PythonPackage):
"""In-process task scheduler with Cron-like capabilities."""
homepage = "https://github.com/agronholm/apscheduler"
- url = "https://pypi.io/packages/source/A/APScheduler/APScheduler-3.3.1.tar.gz"
+ pypi = "APScheduler/APScheduler-3.3.1.tar.gz"
version('3.3.1', sha256='f68874dff1bdffcc6ce3adb7840c1e4d162c609a3e3f831351df30b75732767b')
version('2.1.0', sha256='3b4b44387616902ad6d13122961013630eb25519937e5aa7c450de85656c9753')
diff --git a/var/spack/repos/builtin/packages/py-archspec/package.py b/var/spack/repos/builtin/packages/py-archspec/package.py
index be8ffe331a..697604c218 100644
--- a/var/spack/repos/builtin/packages/py-archspec/package.py
+++ b/var/spack/repos/builtin/packages/py-archspec/package.py
@@ -8,7 +8,7 @@ class PyArchspec(PythonPackage):
"""
homepage = "https://archspec.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/a/archspec/archspec-0.1.1.tar.gz"
+ pypi = "archspec/archspec-0.1.1.tar.gz"
maintainers = ['alalazo']
diff --git a/var/spack/repos/builtin/packages/py-argcomplete/package.py b/var/spack/repos/builtin/packages/py-argcomplete/package.py
index f1362da76f..68d69adac0 100644
--- a/var/spack/repos/builtin/packages/py-argcomplete/package.py
+++ b/var/spack/repos/builtin/packages/py-argcomplete/package.py
@@ -10,7 +10,7 @@ class PyArgcomplete(PythonPackage):
"""Bash tab completion for argparse."""
homepage = "https://github.com/kislyuk/argcomplete"
- url = "https://pypi.io/packages/source/a/argcomplete/argcomplete-1.12.0.tar.gz"
+ pypi = "argcomplete/argcomplete-1.12.0.tar.gz"
version('1.12.0', sha256='2fbe5ed09fd2c1d727d4199feca96569a5b50d44c71b16da9c742201f7cc295c')
version('1.1.1', sha256='cca45b5fe07000994f4f06a0b95bd71f7b51b04f81c3be0b4ea7b666e4f1f084')
diff --git a/var/spack/repos/builtin/packages/py-argon2-cffi/package.py b/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
index e799949e13..b2480d9c74 100644
--- a/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
@@ -8,7 +8,7 @@ class PyArgon2Cffi(PythonPackage):
"""The secure Argon2 password hashing algorithm.."""
homepage = "https://argon2-cffi.readthedocs.io/"
- url = "https://pypi.io/packages/source/a/argon2-cffi/argon2-cffi-20.1.0.tar.gz"
+ pypi = "argon2-cffi/argon2-cffi-20.1.0.tar.gz"
version('20.1.0', sha256='d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d')
diff --git a/var/spack/repos/builtin/packages/py-argparse/package.py b/var/spack/repos/builtin/packages/py-argparse/package.py
index 976e99d2a9..b3c28dc5cb 100644
--- a/var/spack/repos/builtin/packages/py-argparse/package.py
+++ b/var/spack/repos/builtin/packages/py-argparse/package.py
@@ -10,7 +10,7 @@ class PyArgparse(PythonPackage):
"""Python command-line parsing library."""
homepage = "https://github.com/ThomasWaldmann/argparse/"
- url = "https://pypi.io/packages/source/a/argparse/argparse-1.4.0.tar.gz"
+ pypi = "argparse/argparse-1.4.0.tar.gz"
version('1.4.0', sha256='62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4')
diff --git a/var/spack/repos/builtin/packages/py-args/package.py b/var/spack/repos/builtin/packages/py-args/package.py
index d425a06e24..3757bb46c7 100644
--- a/var/spack/repos/builtin/packages/py-args/package.py
+++ b/var/spack/repos/builtin/packages/py-args/package.py
@@ -10,7 +10,7 @@ class PyArgs(PythonPackage):
"""Command Arguments for Humans."""
homepage = "https://github.com/kennethreitz/args"
- url = "https://pypi.io/packages/source/a/args/args-0.1.0.tar.gz"
+ pypi = "args/args-0.1.0.tar.gz"
version('0.1.0', sha256='a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814')
diff --git a/var/spack/repos/builtin/packages/py-arrow/package.py b/var/spack/repos/builtin/packages/py-arrow/package.py
index cfc62140c5..ad2f17d712 100644
--- a/var/spack/repos/builtin/packages/py-arrow/package.py
+++ b/var/spack/repos/builtin/packages/py-arrow/package.py
@@ -15,7 +15,7 @@ class PyArrow(PythonPackage):
work with dates and times with fewer imports and a lot less code."""
homepage = "https://arrow.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/a/arrow/arrow-0.16.0.tar.gz"
+ pypi = "arrow/arrow-0.16.0.tar.gz"
version('0.16.0', sha256='92aac856ea5175c804f7ccb96aca4d714d936f1c867ba59d747a8096ec30e90a')
version('0.14.7', sha256='67f8be7c0cf420424bc62d8d7dc40b44e4bb2f7b515f9cc2954fb36e35797656')
diff --git a/var/spack/repos/builtin/packages/py-arviz/package.py b/var/spack/repos/builtin/packages/py-arviz/package.py
index 20e1be3839..d76215e1ab 100644
--- a/var/spack/repos/builtin/packages/py-arviz/package.py
+++ b/var/spack/repos/builtin/packages/py-arviz/package.py
@@ -12,7 +12,7 @@ class PyArviz(PythonPackage):
model checking, comparison and diagnostics."""
homepage = "http://github.com/arviz-devs/arviz"
- url = "https://pypi.io/packages/source/a/arviz/arviz-0.6.1.tar.gz"
+ pypi = "arviz/arviz-0.6.1.tar.gz"
version('0.6.1', sha256='435edf8db49c41a8fa198f959e7581063006c49a4efdef4755bb778db6fd4f72')
diff --git a/var/spack/repos/builtin/packages/py-asciitree/package.py b/var/spack/repos/builtin/packages/py-asciitree/package.py
index adbd103c5b..f36a986c5a 100644
--- a/var/spack/repos/builtin/packages/py-asciitree/package.py
+++ b/var/spack/repos/builtin/packages/py-asciitree/package.py
@@ -10,7 +10,7 @@ class PyAsciitree(PythonPackage):
"""Draws ASCII trees."""
homepage = "https://github.com/mbr/asciitree"
- url = "https://pypi.io/packages/source/a/asciitree/asciitree-0.3.3.tar.gz"
+ pypi = "asciitree/asciitree-0.3.3.tar.gz"
version('0.3.3', sha256='4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e')
diff --git a/var/spack/repos/builtin/packages/py-asdf/package.py b/var/spack/repos/builtin/packages/py-asdf/package.py
index 6fad12565d..2da208137d 100644
--- a/var/spack/repos/builtin/packages/py-asdf/package.py
+++ b/var/spack/repos/builtin/packages/py-asdf/package.py
@@ -12,7 +12,7 @@ class PyAsdf(PythonPackage):
implementation of the ASDF Standard."""
homepage = "https://github.com/spacetelescope/asdf"
- url = "https://pypi.io/packages/source/a/asdf/asdf-2.4.2.tar.gz"
+ pypi = "asdf/asdf-2.4.2.tar.gz"
version('2.4.2', sha256='6ff3557190c6a33781dae3fd635a8edf0fa0c24c6aca27d8679af36408ea8ff2')
diff --git a/var/spack/repos/builtin/packages/py-ase/package.py b/var/spack/repos/builtin/packages/py-ase/package.py
index 1e9c27921f..5d879c626b 100644
--- a/var/spack/repos/builtin/packages/py-ase/package.py
+++ b/var/spack/repos/builtin/packages/py-ase/package.py
@@ -12,7 +12,7 @@ class PyAse(PythonPackage):
visualizing and analyzing atomistic simulations."""
homepage = "https://wiki.fysik.dtu.dk/ase/"
- url = "https://pypi.io/packages/source/a/ase/ase-3.13.0.tar.gz"
+ pypi = "ase/ase-3.13.0.tar.gz"
version('3.18.0',
sha256='39d45f12def2669605bffc82926acfb13a0d0610e6d82740fa316aafa70f97f9')
diff --git a/var/spack/repos/builtin/packages/py-asn1crypto/package.py b/var/spack/repos/builtin/packages/py-asn1crypto/package.py
index 81caf85143..3e63753215 100644
--- a/var/spack/repos/builtin/packages/py-asn1crypto/package.py
+++ b/var/spack/repos/builtin/packages/py-asn1crypto/package.py
@@ -11,7 +11,7 @@ class PyAsn1crypto(PythonPackage):
"""Python ASN.1 library with a focus on performance and a pythonic API """
homepage = "https://github.com/wbond/asn1crypto"
- url = "https://pypi.io/packages/source/a/asn1crypto/asn1crypto-0.22.0.tar.gz"
+ pypi = "asn1crypto/asn1crypto-0.22.0.tar.gz"
version('0.24.0', sha256='9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49')
version('0.22.0', sha256='cbbadd640d3165ab24b06ef25d1dca09a3441611ac15f6a6b452474fdf0aed1a')
diff --git a/var/spack/repos/builtin/packages/py-aspy-yaml/package.py b/var/spack/repos/builtin/packages/py-aspy-yaml/package.py
index fb697e1f75..c3d9ec76b5 100644
--- a/var/spack/repos/builtin/packages/py-aspy-yaml/package.py
+++ b/var/spack/repos/builtin/packages/py-aspy-yaml/package.py
@@ -10,7 +10,7 @@ class PyAspyYaml(PythonPackage):
"""Some extensions to pyyaml."""
homepage = "https://github.com/asottile/aspy.yaml/"
- url = "https://pypi.io/packages/source/a/aspy.yaml/aspy.yaml-1.3.0.tar.gz"
+ pypi = "aspy.yaml/aspy.yaml-1.3.0.tar.gz"
version('1.3.0', sha256='e7c742382eff2caed61f87a39d13f99109088e5e93f04d76eb8d4b28aa143f45')
diff --git a/var/spack/repos/builtin/packages/py-asteval/package.py b/var/spack/repos/builtin/packages/py-asteval/package.py
index 7392c3d296..6580e2f38b 100644
--- a/var/spack/repos/builtin/packages/py-asteval/package.py
+++ b/var/spack/repos/builtin/packages/py-asteval/package.py
@@ -10,7 +10,7 @@ class PyAsteval(PythonPackage):
"""Safe, minimalistic evaluator of python expression using ast module"""
homepage = "http://github.com/newville/asteval"
- url = "https://pypi.io/packages/source/a/asteval/asteval-0.9.18.tar.gz"
+ pypi = "asteval/asteval-0.9.18.tar.gz"
version('0.9.18', sha256='5d64e18b8a72c2c7ae8f9b70d1f80b68bbcaa98c1c0d7047c35489d03209bc86')
diff --git a/var/spack/repos/builtin/packages/py-astor/package.py b/var/spack/repos/builtin/packages/py-astor/package.py
index 97ecb71956..d3e93391cf 100644
--- a/var/spack/repos/builtin/packages/py-astor/package.py
+++ b/var/spack/repos/builtin/packages/py-astor/package.py
@@ -10,8 +10,7 @@ class PyAstor(PythonPackage):
astor is designed to allow easy manipulation of Python source via the AST.
"""
- homepage = "https://pypi.python.org/pypi/astor"
- url = "https://pypi.io/packages/source/a/astor/astor-0.8.0.tar.gz"
+ pypi = "astor/astor-0.8.0.tar.gz"
version('0.8.0', sha256='37a6eed8b371f1228db08234ed7f6cfdc7817a3ed3824797e20cbb11dc2a7862')
version('0.6', sha256='175ec395cde36aa0178c5a3120d03954c65d1ef4bb19ec4aa30e9d7a7cc426c4')
diff --git a/var/spack/repos/builtin/packages/py-astpretty/package.py b/var/spack/repos/builtin/packages/py-astpretty/package.py
index b6b4e9855f..8faae97930 100644
--- a/var/spack/repos/builtin/packages/py-astpretty/package.py
+++ b/var/spack/repos/builtin/packages/py-astpretty/package.py
@@ -10,7 +10,7 @@ class PyAstpretty(PythonPackage):
"""Pretty print the output of python stdlib `ast.parse`."""
homepage = "https://github.com/asottile/astpretty"
- url = "https://pypi.io/packages/source/a/astpretty/astpretty-2.0.0.tar.gz"
+ pypi = "astpretty/astpretty-2.0.0.tar.gz"
version('2.0.0', sha256='e4724bfd753636ba4a84384702e9796e5356969f40af2596d846ce64addde086')
diff --git a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
index b83191ada3..d3ee585fba 100644
--- a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
@@ -12,7 +12,7 @@ class PyAstropyHealpix(PythonPackage):
representing data on a sphere."""
homepage = 'https://astropy-healpix.readthedocs.io/en/latest/'
- url = 'https://pypi.io/packages/source/a/astropy-healpix/astropy-healpix-0.5.tar.gz'
+ pypi = 'astropy-healpix/astropy-healpix-0.5.tar.gz'
version('0.5', sha256='5ae15da796a840f221fb83e25de791e827b6921bc21a365d99bc1a59c7c0cdad')
diff --git a/var/spack/repos/builtin/packages/py-astropy/package.py b/var/spack/repos/builtin/packages/py-astropy/package.py
index 38501cf3e0..e506c8e8e8 100644
--- a/var/spack/repos/builtin/packages/py-astropy/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy/package.py
@@ -13,7 +13,7 @@ class PyAstropy(PythonPackage):
Python astronomy packages."""
homepage = 'https://astropy.org/'
- url = 'https://pypi.io/packages/source/a/astropy/astropy-4.0.1.post1.tar.gz'
+ pypi = 'astropy/astropy-4.0.1.post1.tar.gz'
version('4.0.1.post1', sha256='5c304a6c1845ca426e7bc319412b0363fccb4928cb4ba59298acd1918eec44b5')
version('3.2.1', sha256='706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28')
diff --git a/var/spack/repos/builtin/packages/py-astunparse/package.py b/var/spack/repos/builtin/packages/py-astunparse/package.py
index 996a59183e..ad97681da5 100644
--- a/var/spack/repos/builtin/packages/py-astunparse/package.py
+++ b/var/spack/repos/builtin/packages/py-astunparse/package.py
@@ -12,8 +12,7 @@ class PyAstunparse(PythonPackage):
distribution; under Demo/parser in Python 2 and under Tools/parser in
Python 3."""
- homepage = "https://pypi.org/project/astunparse/"
- url = "https://pypi.io/packages/source/a/astunparse/astunparse-1.6.2.tar.gz"
+ pypi = "astunparse/astunparse-1.6.2.tar.gz"
version('1.6.3', sha256='5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872')
version('1.6.2', sha256='dab3e426715373fd76cd08bb1abe64b550f5aa494cf1e32384f26fd60961eb67')
diff --git a/var/spack/repos/builtin/packages/py-async-generator/package.py b/var/spack/repos/builtin/packages/py-async-generator/package.py
index 45d452d1d1..172fa23807 100644
--- a/var/spack/repos/builtin/packages/py-async-generator/package.py
+++ b/var/spack/repos/builtin/packages/py-async-generator/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyAsyncGenerator(PythonPackage):
"""Provides async generator functionality to python 3.5."""
- homepage = "https://pypi.org/project/async_generator/"
- url = "https://pypi.io/packages/source/a/async_generator/async_generator-1.10.tar.gz"
+ pypi = "async_generator/async_generator-1.10.tar.gz"
version('1.10', sha256='6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144')
diff --git a/var/spack/repos/builtin/packages/py-atomicwrites/package.py b/var/spack/repos/builtin/packages/py-atomicwrites/package.py
index 7ef16004c3..6fdc12a20b 100644
--- a/var/spack/repos/builtin/packages/py-atomicwrites/package.py
+++ b/var/spack/repos/builtin/packages/py-atomicwrites/package.py
@@ -10,7 +10,7 @@ class PyAtomicwrites(PythonPackage):
"""Atomic file writes."""
homepage = "https://github.com/untitaker/python-atomicwrites"
- url = "https://pypi.io/packages/source/a/atomicwrites/atomicwrites-1.3.0.tar.gz"
+ pypi = "atomicwrites/atomicwrites-1.3.0.tar.gz"
version('1.3.0', sha256='75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6')
version('1.1.5', sha256='240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585')
diff --git a/var/spack/repos/builtin/packages/py-atropos/package.py b/var/spack/repos/builtin/packages/py-atropos/package.py
index b08f3a818e..fbb01fba86 100644
--- a/var/spack/repos/builtin/packages/py-atropos/package.py
+++ b/var/spack/repos/builtin/packages/py-atropos/package.py
@@ -11,7 +11,7 @@ class PyAtropos(PythonPackage):
reads. It is a fork of the venerable Cutadapt read trimmer."""
homepage = "https://atropos.readthedocs.io"
- url = "https://pypi.io/packages/source/a/atropos/atropos-1.1.22.tar.gz"
+ pypi = "atropos/atropos-1.1.22.tar.gz"
git = "https://github.com/jdidion/atropos.git"
version('1.1.22', sha256='05e40cb9337421479c692e1154b962fbf811d7939b72c197a024929b7ae88b78')
diff --git a/var/spack/repos/builtin/packages/py-attrs/package.py b/var/spack/repos/builtin/packages/py-attrs/package.py
index 6a17ec7fc6..7a6a37f307 100644
--- a/var/spack/repos/builtin/packages/py-attrs/package.py
+++ b/var/spack/repos/builtin/packages/py-attrs/package.py
@@ -10,7 +10,7 @@ class PyAttrs(PythonPackage):
"""Classes Without Boilerplate"""
homepage = "http://attrs.org/"
- url = "https://pypi.io/packages/source/a/attrs/attrs-20.3.0.tar.gz"
+ pypi = "attrs/attrs-20.3.0.tar.gz"
version('20.3.0', sha256='832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700')
version('20.2.0', sha256='26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594')
diff --git a/var/spack/repos/builtin/packages/py-audioread/package.py b/var/spack/repos/builtin/packages/py-audioread/package.py
index b69f22b720..8f1db59f55 100644
--- a/var/spack/repos/builtin/packages/py-audioread/package.py
+++ b/var/spack/repos/builtin/packages/py-audioread/package.py
@@ -11,7 +11,7 @@ class PyAudioread(PythonPackage):
Python."""
homepage = "https://github.com/beetbox/audioread"
- url = "https://pypi.io/packages/source/a/audioread/audioread-2.1.8.tar.gz"
+ pypi = "audioread/audioread-2.1.8.tar.gz"
version('2.1.8', sha256='073904fabc842881e07bd3e4a5776623535562f70b1655b635d22886168dd168')
diff --git a/var/spack/repos/builtin/packages/py-autograd-gamma/package.py b/var/spack/repos/builtin/packages/py-autograd-gamma/package.py
index 75436ea4c9..1956128c00 100644
--- a/var/spack/repos/builtin/packages/py-autograd-gamma/package.py
+++ b/var/spack/repos/builtin/packages/py-autograd-gamma/package.py
@@ -9,7 +9,7 @@ class PyAutogradGamma(PythonPackage):
Gamma-family of functions."""
homepage = "https://github.com/CamDavidsonPilon/autograd-gamma"
- url = "https://pypi.io/packages/source/a/autograd-gamma/autograd-gamma-0.4.3.tar.gz"
+ pypi = "autograd-gamma/autograd-gamma-0.4.3.tar.gz"
version('0.4.3', sha256='2cb570cbb8da61ede937ccc004d87d3924108f754b351a86cdd2ad31ace6cdf6')
diff --git a/var/spack/repos/builtin/packages/py-autograd/package.py b/var/spack/repos/builtin/packages/py-autograd/package.py
index 86aba0132d..e72b629220 100644
--- a/var/spack/repos/builtin/packages/py-autograd/package.py
+++ b/var/spack/repos/builtin/packages/py-autograd/package.py
@@ -18,7 +18,7 @@ class PyAutograd(PythonPackage):
examples directory."""
homepage = "https://github.com/HIPS/autograd"
- url = "https://pypi.io/packages/source/a/autograd/autograd-1.3.tar.gz"
+ pypi = "autograd/autograd-1.3.tar.gz"
version('1.3', sha256='a15d147577e10de037de3740ca93bfa3b5a7cdfbc34cfb9105429c3580a33ec4')
diff --git a/var/spack/repos/builtin/packages/py-autopep8/package.py b/var/spack/repos/builtin/packages/py-autopep8/package.py
index 296d0bd4c3..d4fc66d3e7 100644
--- a/var/spack/repos/builtin/packages/py-autopep8/package.py
+++ b/var/spack/repos/builtin/packages/py-autopep8/package.py
@@ -11,7 +11,7 @@ class PyAutopep8(PythonPackage):
PEP 8 style guide."""
homepage = "https://github.com/hhatto/autopep8"
- url = "https://pypi.io/packages/source/a/autopep8/autopep8-1.2.4.tar.gz"
+ pypi = "autopep8/autopep8-1.2.4.tar.gz"
version('1.4.4', sha256='4d8eec30cc81bc5617dbf1218201d770dc35629363547f17577c61683ccfb3ee')
version('1.3.3', sha256='ff787bffb812818c3071784b5ce9a35f8c481a0de7ea0ce4f8b68b8788a12f30')
diff --git a/var/spack/repos/builtin/packages/py-auxlib/package.py b/var/spack/repos/builtin/packages/py-auxlib/package.py
index 4d18101e5d..ead5513406 100644
--- a/var/spack/repos/builtin/packages/py-auxlib/package.py
+++ b/var/spack/repos/builtin/packages/py-auxlib/package.py
@@ -10,7 +10,7 @@ class PyAuxlib(PythonPackage):
"""Auxlib is an auxiliary library to the python standard library."""
homepage = "https://github.com/kalefranz/auxlib"
- url = "https://pypi.io/packages/source/a/auxlib/auxlib-0.0.43.tar.gz"
+ pypi = "auxlib/auxlib-0.0.43.tar.gz"
version('0.0.43', sha256='0f175637e96a090a785767ce28483cf1aeec316a19afce9b2fbd113e1122786a')
diff --git a/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py b/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py
index 614d29196d..24bd623179 100644
--- a/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py
+++ b/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py
@@ -10,7 +10,7 @@ class PyAvroJsonSerializer(PythonPackage):
"""Serializes data into a JSON format using AVRO schema."""
homepage = "https://github.com/linkedin/python-avro-json-serializer"
- url = "https://pypi.io/packages/source/a/avro_json_serializer/avro_json_serializer-0.4.tar.gz"
+ pypi = "avro_json_serializer/avro_json_serializer-0.4.tar.gz"
version('0.4', sha256='f9dac2dac92036c5dd5aba8c716545fc0a0630cc365a51ab15bc2ac47eac28f1')
diff --git a/var/spack/repos/builtin/packages/py-avro-python3/package.py b/var/spack/repos/builtin/packages/py-avro-python3/package.py
index 2c62f35825..3a3a96b0aa 100644
--- a/var/spack/repos/builtin/packages/py-avro-python3/package.py
+++ b/var/spack/repos/builtin/packages/py-avro-python3/package.py
@@ -12,7 +12,7 @@ class PyAvroPython3(PythonPackage):
functions will be made available for both python2 and python3."""
homepage = "https://github.com/apache/avro/tree/master/lang/py3"
- url = "https://pypi.io/packages/source/a/avro-python3/avro-python3-1.10.0.tar.gz"
+ pypi = "avro-python3/avro-python3-1.10.0.tar.gz"
version('1.10.0', sha256='a455c215540b1fceb1823e2a918e94959b54cb363307c97869aa46b5b55bde05')
diff --git a/var/spack/repos/builtin/packages/py-avro/package.py b/var/spack/repos/builtin/packages/py-avro/package.py
index 35c903a411..5ab3b72dd3 100644
--- a/var/spack/repos/builtin/packages/py-avro/package.py
+++ b/var/spack/repos/builtin/packages/py-avro/package.py
@@ -10,7 +10,7 @@ class PyAvro(PythonPackage):
"""Avro is a serialization and RPC framework."""
homepage = "http://avro.apache.org/docs/current/"
- url = "https://pypi.io/packages/source/a/avro/avro-1.8.2.tar.gz"
+ pypi = "avro/avro-1.8.2.tar.gz"
version('1.8.2', sha256='8f9ee40830b70b5fb52a419711c9c4ad0336443a6fba7335060805f961b04b59')
diff --git a/var/spack/repos/builtin/packages/py-awesome-slugify/package.py b/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
index 5348236a0f..13fc2fb496 100644
--- a/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
+++ b/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
@@ -10,7 +10,7 @@ class PyAwesomeSlugify(PythonPackage):
"""Python flexible slugify function"""
homepage = "https://github.com/dimka665/awesome-slugify"
- url = "https://pypi.io/packages/source/a/awesome-slugify/awesome-slugify-1.6.5.tar.gz"
+ pypi = "awesome-slugify/awesome-slugify-1.6.5.tar.gz"
version('1.6.5', sha256='bbdec3fa2187917473a2efad092b57f7125a55f841a7cf6a1773178d32ccfd71')
diff --git a/var/spack/repos/builtin/packages/py-azure-batch/package.py b/var/spack/repos/builtin/packages/py-azure-batch/package.py
index b201ec7660..b59b052f14 100644
--- a/var/spack/repos/builtin/packages/py-azure-batch/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-batch/package.py
@@ -8,7 +8,7 @@ class PyAzureBatch(PythonPackage):
"""Microsoft Azure Batch Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-batch/azure-batch-9.0.0.zip"
+ pypi = "azure-batch/azure-batch-9.0.0.zip"
version('9.0.0', sha256='47ca6f50a640915e1cdc5ce3c1307abe5fa3a636236e561119cf62d9df384d84')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
index 0a40cf2e44..de78e5fbca 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
@@ -8,7 +8,7 @@ class PyAzureCliCommandModulesNspkg(PythonPackage):
"""Microsoft Azure CLI Command Modules Namespace Package."""
homepage = "https://github.com/Azure/azure-cli"
- url = "https://pypi.io/packages/source/a/azure-cli-command-modules-nspkg/azure-cli-command-modules-nspkg-2.0.3.tar.gz"
+ pypi = "azure-cli-command-modules-nspkg/azure-cli-command-modules-nspkg-2.0.3.tar.gz"
version('2.0.3', sha256='4bd62bf5facb92dd4f89080e75eaee2ea1d3dd4e57a3d2a760ce501cf53f4e7d')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
index adaeb282e1..57bd349cba 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
@@ -8,7 +8,7 @@ class PyAzureCliCore(PythonPackage):
"""Microsoft Azure Command-Line Tools Core Module."""
homepage = "https://github.com/Azure/azure-cli"
- url = "https://pypi.io/packages/source/a/azure-cli-core/azure-cli-core-2.9.1.tar.gz"
+ pypi = "azure-cli-core/azure-cli-core-2.9.1.tar.gz"
version('2.9.1', sha256='8618a30f7ea2188506f29801220c06396d731c26e4de92c327e6b0e8cc790db5')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
index 31fab8f659..cb3d06b81a 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
@@ -8,7 +8,7 @@ class PyAzureCliNspkg(PythonPackage):
"""Microsoft Azure CLI Namespace Package."""
homepage = "https://github.com/Azure/azure-cli"
- url = "https://pypi.io/packages/source/a/azure-cli-nspkg/azure-cli-nspkg-3.0.4.tar.gz"
+ pypi = "azure-cli-nspkg/azure-cli-nspkg-3.0.4.tar.gz"
version('3.0.4', sha256='1bde56090f548c6435bd3093995cf88e4c445fb040604df8b5b5f70780d79181')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
index 18f8cb5591..e8e47acef4 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
@@ -8,7 +8,7 @@ class PyAzureCliTelemetry(PythonPackage):
"""Microsoft Azure CLI Telemetry Package."""
homepage = "https://github.com/Azure/azure-cli"
- url = "https://pypi.io/packages/source/a/azure-cli-telemetry/azure-cli-telemetry-1.0.4.tar.gz"
+ pypi = "azure-cli-telemetry/azure-cli-telemetry-1.0.4.tar.gz"
version('1.0.4', sha256='1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli/package.py b/var/spack/repos/builtin/packages/py-azure-cli/package.py
index 44017651e7..aa47f71744 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli/package.py
@@ -8,7 +8,7 @@ class PyAzureCli(PythonPackage):
"""Microsoft Azure Command-Line Tools."""
homepage = "https://github.com/Azure/azure-cli"
- url = "https://pypi.io/packages/source/a/azure-cli/azure-cli-2.9.1.tar.gz"
+ pypi = "azure-cli/azure-cli-2.9.1.tar.gz"
version('2.9.1', sha256='749d850f73ea8956ab510288c1061dd7066180a8583081a6d560fdc7ac8314d6')
diff --git a/var/spack/repos/builtin/packages/py-azure-common/package.py b/var/spack/repos/builtin/packages/py-azure-common/package.py
index 72410b447e..5bbaccf576 100644
--- a/var/spack/repos/builtin/packages/py-azure-common/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-common/package.py
@@ -8,7 +8,7 @@ class PyAzureCommon(PythonPackage):
"""Microsoft Azure Client Library for Python (Common)."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-common/azure-common-1.1.25.zip"
+ pypi = "azure-common/azure-common-1.1.25.zip"
version('1.1.25', sha256='ce0f1013e6d0e9faebaf3188cc069f4892fc60a6ec552e3f817c1a2f92835054')
diff --git a/var/spack/repos/builtin/packages/py-azure-core/package.py b/var/spack/repos/builtin/packages/py-azure-core/package.py
index e45bfcabfb..eeddb992a9 100644
--- a/var/spack/repos/builtin/packages/py-azure-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-core/package.py
@@ -8,7 +8,7 @@ class PyAzureCore(PythonPackage):
"""Microsoft Azure Core Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core"
- url = "https://pypi.io/packages/source/a/azure-core/azure-core-1.7.0.zip"
+ pypi = "azure-core/azure-core-1.7.0.zip"
version('1.7.0', sha256='a66da240a287f447f9867f54ba09ea235895cec13ea38c5f490ce4eedefdd75c')
version('1.6.0', sha256='d10b74e783cff90d56360e61162afdd22276d62dc9467e657ae866449eae7648')
diff --git a/var/spack/repos/builtin/packages/py-azure-cosmos/package.py b/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
index 56ed2ae59f..eb04228940 100644
--- a/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
@@ -8,7 +8,7 @@ class PyAzureCosmos(PythonPackage):
"""Microsoft Azure Cosmos Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-cosmos/azure-cosmos-4.0.0.zip"
+ pypi = "azure-cosmos/azure-cosmos-4.0.0.zip"
version('4.0.0', sha256='c4e40e0d378fd0c96664f46f1ad08e6c8aaaac31c463726a74aae9eae724442d')
version('3.2.0', sha256='4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6',
diff --git a/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py b/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
index 84dc392932..b249d66ca4 100644
--- a/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
@@ -8,7 +8,7 @@ class PyAzureDatalakeStore(PythonPackage):
"""Azure Data Lake Store Filesystem Client Library for Python."""
homepage = "https://github.com/Azure/azure-data-lake-store-python"
- url = "https://pypi.io/packages/source/a/azure-datalake-store/azure-datalake-store-0.0.48.tar.gz"
+ pypi = "azure-datalake-store/azure-datalake-store-0.0.48.tar.gz"
version('0.0.48', sha256='d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7')
diff --git a/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py b/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
index ee70dc2f03..8565b3c44a 100644
--- a/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
@@ -9,7 +9,7 @@ class PyAzureFunctionsDevopsBuild(PythonPackage):
Specifically made for the Azure CLI."""
homepage = "https://github.com/Azure/azure-functions-devops-build"
- url = "https://pypi.io/packages/source/a/azure-functions-devops-build/azure-functions-devops-build-0.0.22.tar.gz"
+ pypi = "azure-functions-devops-build/azure-functions-devops-build-0.0.22.tar.gz"
version('0.0.22', sha256='c6341abda6098813f8fa625acd1e925410a17a8a1c7aaabdf975bb7cecb14edf')
diff --git a/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py b/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
index 4cd0dd661f..59a84b86cb 100644
--- a/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
@@ -8,7 +8,7 @@ class PyAzureGraphrbac(PythonPackage):
"""Microsoft Azure Graph RBAC Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-graphrbac/azure-graphrbac-0.61.1.zip"
+ pypi = "azure-graphrbac/azure-graphrbac-0.61.1.zip"
version('0.61.1', sha256='53e98ae2ca7c19b349e9e9bb1b6a824aeae8dcfcbe17190d20fe69c0f185b2e2')
version('0.60.0', sha256='d0bb62d8bf8e196b903f3971ba4afa448e4fe14e8394ebfcdd941d84d62ecafe')
diff --git a/var/spack/repos/builtin/packages/py-azure-identity/package.py b/var/spack/repos/builtin/packages/py-azure-identity/package.py
index e3835d9cef..79a97fe22f 100644
--- a/var/spack/repos/builtin/packages/py-azure-identity/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-identity/package.py
@@ -8,7 +8,7 @@ class PyAzureIdentity(PythonPackage):
"""Microsoft Azure Identity Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/identity/azure-identity"
- url = "https://pypi.io/packages/source/a/azure-identity/azure-identity-1.3.1.zip"
+ pypi = "azure-identity/azure-identity-1.3.1.zip"
version('1.3.1', sha256='5a59c36b4b05bdaec455c390feda71b6495fc828246593404351b9a41c2e877a')
version('1.2.0', sha256='b32acd1cdb6202bfe10d9a0858dc463d8960295da70ae18097eb3b85ab12cb91')
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
index 49ad0b0ea6..3cfb467efe 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
@@ -8,7 +8,7 @@ class PyAzureKeyvaultCertificates(PythonPackage):
"""Microsoft Azure Key Vault Certificates Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-certificates"
- url = "https://pypi.io/packages/source/a/azure-keyvault-certificates/azure-keyvault-certificates-4.1.0.zip"
+ pypi = "azure-keyvault-certificates/azure-keyvault-certificates-4.1.0.zip"
version('4.1.0', sha256='544f56480619e1db350f2e7b117b22af778e02174bd6bcb0af9ae00c50353419')
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
index 7fa65939ac..211ee451cb 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
@@ -8,7 +8,7 @@ class PyAzureKeyvaultKeys(PythonPackage):
"""Microsoft Azure Key Vault Keys Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys"
- url = "https://pypi.io/packages/source/a/azure-keyvault-keys/azure-keyvault-keys-4.1.0.zip"
+ pypi = "azure-keyvault-keys/azure-keyvault-keys-4.1.0.zip"
version('4.1.0', sha256='f9967b4deb48e619f6c40558f69e48978779cc09c8a7fad33d536cfc41cd68f9')
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
index 16200150de..5577c481cd 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
@@ -8,7 +8,7 @@ class PyAzureKeyvaultNspkg(PythonPackage):
"""Microsoft Azure Key Vault Namespace Package."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault"
- url = "https://pypi.io/packages/source/a/azure-keyvault-nspkg/azure-keyvault-nspkg-1.0.0.zip"
+ pypi = "azure-keyvault-nspkg/azure-keyvault-nspkg-1.0.0.zip"
version('1.0.0', sha256='ac68b88aab9c6caf54a23da2a1d1c718d7520bae5adff04dd0a743228269b641')
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
index cbc91cde3d..bf34b908c8 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
@@ -8,7 +8,7 @@ class PyAzureKeyvaultSecrets(PythonPackage):
"""Microsoft Azure Key Vault Secrets Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-secrets"
- url = "https://pypi.io/packages/source/a/azure-keyvault-secrets/azure-keyvault-secrets-4.1.0.zip"
+ pypi = "azure-keyvault-secrets/azure-keyvault-secrets-4.1.0.zip"
version('4.1.0', sha256='4f3bfac60e025e01dd1c1998b73649d45d706975356c0cf147174cf5a6ddf8be')
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
index b18a562226..8dd662df81 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
@@ -8,7 +8,7 @@ class PyAzureKeyvault(PythonPackage):
"""Microsoft Azure Key Vault Client Libraries for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault"
- url = "https://pypi.io/packages/source/a/azure-keyvault/azure-keyvault-4.1.0.zip"
+ pypi = "azure-keyvault/azure-keyvault-4.1.0.zip"
version('4.1.0', sha256='69002a546921a8290eb54d9a3805cfc515c321bc1d4c0bfcfb463620245eca40')
version('1.1.0', sha256='37a8e5f376eb5a304fcd066d414b5d93b987e68f9212b0c41efa37d429aadd49')
diff --git a/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py b/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
index 25a4e42317..1faf2752e7 100644
--- a/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
@@ -8,7 +8,7 @@ class PyAzureLoganalytics(PythonPackage):
"""Microsoft Azure Log Analytics Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-loganalytics/azure-loganalytics-0.1.0.zip"
+ pypi = "azure-loganalytics/azure-loganalytics-0.1.0.zip"
version('0.1.0', sha256='3ceb350def677a351f34b0a0d1637df6be0c6fe87ff32a5270b17f540f6da06e')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
index 5e19a89dea..cd63a6299b 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtAdvisor(PythonPackage):
"""Microsoft Azure Advisor Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-advisor/azure-mgmt-advisor-4.0.0.zip"
+ pypi = "azure-mgmt-advisor/azure-mgmt-advisor-4.0.0.zip"
version('4.0.0', sha256='1ecea7a9dc48c099c06aab68aace7fdbded91a5522932882b1707c29fa055054')
version('2.0.1', sha256='1929d6d5ba49d055fdc806e981b93cf75ea42ba35f78222aaf42d8dcf29d4ef3')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
index 538bfed522..fba66900f1 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtApimanagement(PythonPackage):
"""Microsoft Azure API Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-apimanagement/azure-mgmt-apimanagement-0.2.0.zip"
+ pypi = "azure-mgmt-apimanagement/azure-mgmt-apimanagement-0.2.0.zip"
version('0.2.0', sha256='790f01c0b32583706b8b8c59667c0f5a51cd70444eee76474e23a598911e1d72')
version('0.1.0', sha256='5d45d3438c6a11bae6bb8d4d5173cdb44b85683695f9f3433f22f45aecc47819')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
index 96f7a6dfff..f616f60ada 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtAppconfiguration(PythonPackage):
"""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-appconfiguration/azure-mgmt-appconfiguration-0.5.0.zip"
+ pypi = "azure-mgmt-appconfiguration/azure-mgmt-appconfiguration-0.5.0.zip"
version('0.5.0', sha256='211527511d7616a383cc196956eaf2b7ee016f2367d367924b3715f2a41106da')
version('0.4.0', sha256='85f6202ba235fde6be274f3dec1578b90235cf31979abea3fcfa476d0b2ac5b6')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
index b7b4089b9d..999fe7ef28 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtApplicationinsights(PythonPackage):
Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-applicationinsights/azure-mgmt-applicationinsights-0.3.0.zip"
+ pypi = "azure-mgmt-applicationinsights/azure-mgmt-applicationinsights-0.3.0.zip"
version('0.3.0', sha256='3c788a54db4fbca1a8850151462ec1471ff59c86b3a10d6082952bbdaa7e6651')
version('0.1.1', sha256='f10229eb9e3e9d0ad20188b8d14d67055e86f3815b43b75eedf96b654bee2a9b')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
index 5a5089966c..1bdbf45c27 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtAuthorization(PythonPackage):
"""Microsoft Azure Authorization Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-authorization/azure-mgmt-authorization-0.60.0.zip"
+ pypi = "azure-mgmt-authorization/azure-mgmt-authorization-0.60.0.zip"
version('0.60.0', sha256='31e875a34ac2c5d6fefe77b4a8079a8b2bdbe9edb957e47e8b44222fb212d6a7')
version('0.52.0', sha256='16a618c4357c11e96de376856c396f09e76a56473920cdf7a66735fabaa2a70c')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
index f11c869362..d8ed3fe48b 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtBatch(PythonPackage):
"""Microsoft Azure Batch Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-batch/azure-mgmt-batch-9.0.0.zip"
+ pypi = "azure-mgmt-batch/azure-mgmt-batch-9.0.0.zip"
version('9.0.0', sha256='03417eecfa1fac906e674cb1cb43ed7da27a96277277b091d7c389ba39f6c3fe')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
index ec279bfc50..07c74ee4b8 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtBatchai(PythonPackage):
"""Microsoft Azure Batch AI Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-batchai/azure-mgmt-batchai-2.0.0.zip"
+ pypi = "azure-mgmt-batchai/azure-mgmt-batchai-2.0.0.zip"
version('2.0.0', sha256='f1870b0f97d5001cdb66208e5a236c9717a0ed18b34dbfdb238a828f3ca2a683')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
index a124ac5931..73db59f09c 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtBilling(PythonPackage):
"""Microsoft Azure Billing Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-billing/azure-mgmt-billing-0.2.0.zip"
+ pypi = "azure-mgmt-billing/azure-mgmt-billing-0.2.0.zip"
version('0.2.0', sha256='85f73bb3808a7d0d2543307e8f41e5b90a170ad6eeedd54fe7fcaac61b5b22d2')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
index 168259dac0..287b53b158 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtBotservice(PythonPackage):
"""Microsoft Azure Bot Service Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-botservice/azure-mgmt-botservice-0.2.0.zip"
+ pypi = "azure-mgmt-botservice/azure-mgmt-botservice-0.2.0.zip"
version('0.2.0', sha256='b21d8858e69aa16d25b908c40116a1f773c127ec4dd602cbb8542ebf39a55d83')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
index 916934c841..1ddbfde601 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtCdn(PythonPackage):
"""Microsoft Azure CDN Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-cdn/azure-mgmt-cdn-4.0.0.zip"
+ pypi = "azure-mgmt-cdn/azure-mgmt-cdn-4.0.0.zip"
# Release candidate needed for py-azure-cli
version('4.1.0rc1', sha256='853c73d612f5d97387e079c5841a9f1a05702173d0c7c0c59ba7b0fd86380503')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
index 067f980c7d..f8a726d80a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtCognitiveservices(PythonPackage):
Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-cognitiveservices/azure-mgmt-cognitiveservices-6.2.0.zip"
+ pypi = "azure-mgmt-cognitiveservices/azure-mgmt-cognitiveservices-6.2.0.zip"
version('6.2.0', sha256='93503507ba87c18fe24cd3dfcd54e6e69a4daf7636f38b7537e09cee9a4c13ce')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
index 4b47781334..1e8341f329 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtCompute(PythonPackage):
"""Microsoft Azure Compute Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-compute/azure-mgmt-compute-13.0.0.zip"
+ pypi = "azure-mgmt-compute/azure-mgmt-compute-13.0.0.zip"
version('13.0.0', sha256='7f331bafcbedf25d65aa42038f7553747dab18d7f10a5af3297192d31c45339e')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
index 8974a4500d..9f013e5827 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtConsumption(PythonPackage):
"""Microsoft Azure Consumption Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-consumption/azure-mgmt-consumption-3.0.0.zip"
+ pypi = "azure-mgmt-consumption/azure-mgmt-consumption-3.0.0.zip"
version('3.0.0', sha256='035d4b74ca7c47e2683bea17105fd9014c27060336fb6255324ac86b27f70f5b')
version('2.0.0', sha256='9a85a89f30f224d261749be20b4616a0eb8948586f7f0f20573b8ea32f265189')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
index c2ce7566d4..6875c2ce03 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtContainerinstance(PythonPackage):
"""Microsoft Azure Container Instance Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-containerinstance/azure-mgmt-containerinstance-2.0.0.zip"
+ pypi = "azure-mgmt-containerinstance/azure-mgmt-containerinstance-2.0.0.zip"
version('2.0.0', sha256='5ad247d186c3c040da7a1d40ad39c9881e99afc58271f673abb602abb0b6b85b')
version('1.5.0', sha256='b055386f04ba8433112b0df7fcbc260b5208828d7bb8c057e760fe596aa7a8cd')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
index 1a337d7a4a..4aacb1eb9c 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtContainerregistry(PythonPackage):
"""Microsoft Azure Container Registry Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-containerregistry/azure-mgmt-containerregistry-2.8.0.zip"
+ pypi = "azure-mgmt-containerregistry/azure-mgmt-containerregistry-2.8.0.zip"
# Release candidate needed for py-azure-cli
version('3.0.0rc14', sha256='d23ce93ec5903d00f79f0ac995e16bf47197130239f7f182509add3277b73071')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
index 3e592e4a13..8bc458f886 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtContainerservice(PythonPackage):
"""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-containerservice/azure-mgmt-containerservice-9.2.0.zip"
+ pypi = "azure-mgmt-containerservice/azure-mgmt-containerservice-9.2.0.zip"
version('9.2.0', sha256='e7904b60c42a153b64b1604f3c698602686b38787bebdaed6e808cd43b6e5967')
version('9.0.1', sha256='7e4459679bdba4aa67a4b5848e63d94e965a304a7418ef7607eb7a9ce295d886')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
index 4dfca888f6..bab502fa74 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtCore(PythonPackage):
"""Microsoft Azure Management Core Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-mgmt-core"
- url = "https://pypi.io/packages/source/a/azure-mgmt-core/azure-mgmt-core-1.2.0.zip"
+ pypi = "azure-mgmt-core/azure-mgmt-core-1.2.0.zip"
version('1.2.0', sha256='8fe3b59446438f27e34f7b24ea692a982034d9e734617ca1320eedeee1939998')
version('1.0.0', sha256='510faf49a10daec8346cc086143d8e667ef3b4f8c8022a8e710091027631a55e')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
index 978d659b9e..7a5a026e36 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtCosmosdb(PythonPackage):
"""Microsoft Azure Cosmos DB Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-cosmosdb/azure-mgmt-cosmosdb-0.15.0.zip"
+ pypi = "azure-mgmt-cosmosdb/azure-mgmt-cosmosdb-0.15.0.zip"
version('0.15.0', sha256='e70fe9b3d9554c501d46e69f18b73de18d77fbcb98a7a87b965b3dd027cada0f')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
index bcb73cd655..a65e3b9d01 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtDatalakeAnalytics(PythonPackage):
Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-datalake-analytics/azure-mgmt-datalake-analytics-0.6.0.zip"
+ pypi = "azure-mgmt-datalake-analytics/azure-mgmt-datalake-analytics-0.6.0.zip"
version('0.6.0', sha256='0d64c4689a67d6138eb9ffbaff2eda2bace7d30b846401673183dcb42714de8f')
version('0.2.1', sha256='4c7960d094f5847d9a456c18b8a3c8e60c428e3080a3905f1c943d81ba6351a4')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
index 994c8a60c1..e9e1094c6c 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtDatalakeStore(PythonPackage):
"""Microsoft Azure Data Lake Store Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-datalake-store/azure-mgmt-datalake-store-0.5.0.zip"
+ pypi = "azure-mgmt-datalake-store/azure-mgmt-datalake-store-0.5.0.zip"
version('0.5.0', sha256='9376d35495661d19f8acc5604f67b0bc59493b1835bbc480f9a1952f90017a4c')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
index 7eaf2e926b..1e6c7a2368 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtDatamigration(PythonPackage):
"""Microsoft Azure Data Migration Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-datamigration/azure-mgmt-datamigration-4.0.0.zip"
+ pypi = "azure-mgmt-datamigration/azure-mgmt-datamigration-4.0.0.zip"
version('4.0.0', sha256='1efda568d67af911156591eb308432b5f9a56075b57ac0a5dd9f7aee17d79217')
version('0.1.0', sha256='e754928992743f54d999800a5e0679ee3e91d804d23a25f12c2e6f2f86cd05df')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
index 57d08f8805..ee7048b1ef 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtDeploymentmanager(PythonPackage):
"""Microsoft Azure Deployment Manager Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-deploymentmanager/azure-mgmt-deploymentmanager-0.2.0.zip"
+ pypi = "azure-mgmt-deploymentmanager/azure-mgmt-deploymentmanager-0.2.0.zip"
version('0.2.0', sha256='46e342227993fc9acab1dda42f2eb566b522a8c945ab9d0eea56276b46f6d730')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
index 10094a24da..bf9711ae88 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtDevtestlabs(PythonPackage):
"""Microsoft Azure DevTestLabs Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-devtestlabs/azure-mgmt-devtestlabs-4.0.0.zip"
+ pypi = "azure-mgmt-devtestlabs/azure-mgmt-devtestlabs-4.0.0.zip"
version('4.0.0', sha256='59549c4c4068f26466b1097b574a8e5099fb2cd6c8be0a00395b06d3b29e278d')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
index ef7bab9ef7..6abb3de7c3 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtDns(PythonPackage):
"""Microsoft Azure DNS Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-dns/azure-mgmt-dns-3.0.0.zip"
+ pypi = "azure-mgmt-dns/azure-mgmt-dns-3.0.0.zip"
version('3.0.0', sha256='6ecdf4e67d8eb5db593ec331e6d9f350616e77c31225c91d266605e03e63b37f')
version('2.1.0', sha256='3730b1b3f545a5aa43c0fff07418b362a789eb7d81286e2bed90ffef88bfa5d0')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
index d1dc0f2264..3d951044c3 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtEventgrid(PythonPackage):
"""Microsoft Azure EventGrid Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-eventgrid/azure-mgmt-eventgrid-2.2.0.zip"
+ pypi = "azure-mgmt-eventgrid/azure-mgmt-eventgrid-2.2.0.zip"
# Release candidate needed for py-azure-cli
version('3.0.0rc7', sha256='68f9eb18b74fa86e07cf4e4d1a2ed16fe549bdd53f21a707b05798616b01a9d4')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
index bd25960c8c..c2d48902fc 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtEventhub(PythonPackage):
"""Microsoft Azure EventHub Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-eventhub/azure-mgmt-eventhub-4.0.0.zip"
+ pypi = "azure-mgmt-eventhub/azure-mgmt-eventhub-4.0.0.zip"
version('4.0.0', sha256='65223196cf132899656c2f9cb71a14c972d99e5ecd815ee050dae1072cb73ae2')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
index 4107d2f68b..d94b85cec9 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtHdinsight(PythonPackage):
"""Microsoft Azure HDInsight Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-hdinsight/azure-mgmt-hdinsight-1.5.1.zip"
+ pypi = "azure-mgmt-hdinsight/azure-mgmt-hdinsight-1.5.1.zip"
version('1.5.1', sha256='76b94f3e43fdc6698023d79be731937dc645dc3178dc134854768528ecc0aea3')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
index 44e3e311e4..e13e668a13 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtImagebuilder(PythonPackage):
"""Microsoft Azure Image Builder Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-imagebuilder/azure-mgmt-imagebuilder-0.4.0.zip"
+ pypi = "azure-mgmt-imagebuilder/azure-mgmt-imagebuilder-0.4.0.zip"
version('0.4.0', sha256='4c9291bf16b40b043637e5e4f15650f71418ac237393e62219cab478a7951733')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
index 80154d6528..b1934ccb8d 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtIotcentral(PythonPackage):
"""Microsoft Azure IoTCentral Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-iotcentral/azure-mgmt-iotcentral-3.1.0.zip"
+ pypi = "azure-mgmt-iotcentral/azure-mgmt-iotcentral-3.1.0.zip"
version('3.1.0', sha256='c175f6642be514ad0efd3dc03d09e50d923596fd9e634381793dcc46bb8a57c7')
version('3.0.0', sha256='f6dacf442ccae2f18f1082e80bcbdcaa8c0efa2ba92b48c5db6ee01d37240047')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
index a1954a9751..2ab36d5410 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtIothub(PythonPackage):
"""Microsoft Azure IoTHub Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-iothub/azure-mgmt-iothub-0.12.0.zip"
+ pypi = "azure-mgmt-iothub/azure-mgmt-iothub-0.12.0.zip"
version('0.12.0', sha256='da20ee2b9b9a2c2f89be9037c3ee5421152e7f6d718eafbf50a91dbf0a07ffa0')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
index 37845cee5d..27c46d7538 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtIothubprovisioningservices(PythonPackage):
"""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-iothubprovisioningservices/azure-mgmt-iothubprovisioningservices-0.2.0.zip"
+ pypi = "azure-mgmt-iothubprovisioningservices/azure-mgmt-iothubprovisioningservices-0.2.0.zip"
version('0.2.0', sha256='8c37acfd1c33aba845f2e0302ef7266cad31cba503cc990a48684659acb7b91d')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py
index 5273aec0ff..57a67286dd 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtKeyvault(PythonPackage):
"""Microsoft Azure Key Vault Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-keyvault/azure-mgmt-keyvault-2.2.0.zip"
+ pypi = "azure-mgmt-keyvault/azure-mgmt-keyvault-2.2.0.zip"
version('2.2.0', sha256='1883e12eeb5819064dc52bf3a3ade05c791f4b66e4aeec948bda28df6ce2bce4')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
index faadc899cf..eae1973787 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtKusto(PythonPackage):
"""Microsoft Azure Kusto Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-kusto/azure-mgmt-kusto-0.9.0.zip"
+ pypi = "azure-mgmt-kusto/azure-mgmt-kusto-0.9.0.zip"
version('0.9.0', sha256='9210db89fa18ee8ed53339cd63bbe6fe1d9624cd793b54b7451ddbda8ae92ef3')
version('0.3.0', sha256='9eb8b7781fd4410ee9e207cd0c3983baf9e58414b5b4a18849d09856e36bacde')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
index 925db35fa1..efd5eeffb0 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtLoganalytics(PythonPackage):
"""Microsoft Azure Log Analytics Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-loganalytics/azure-mgmt-loganalytics-0.7.0.zip"
+ pypi = "azure-mgmt-loganalytics/azure-mgmt-loganalytics-0.7.0.zip"
version('0.7.0', sha256='50fb7f714685d170ce9607e3c30488e194015845ef7f0a717b80609837a6c2a2')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
index d7ac227ef3..db3e5aa7fc 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtManagedservices(PythonPackage):
"""Microsoft Azure Managed Services Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-managedservices/azure-mgmt-managedservices-1.0.0.zip"
+ pypi = "azure-mgmt-managedservices/azure-mgmt-managedservices-1.0.0.zip"
version('1.0.0', sha256='fed8399fc6773aada37c1d0496a46f59410d77c9494d0ca5967c531c3376ad19')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
index 6ce865aaba..c39f443fa6 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtManagementgroups(PythonPackage):
"""Microsoft Azure Management Groups Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-managementgroups/azure-mgmt-managementgroups-0.2.0.zip"
+ pypi = "azure-mgmt-managementgroups/azure-mgmt-managementgroups-0.2.0.zip"
version('0.2.0', sha256='3d5237947458dc94b4a392141174b1c1258d26611241ee104e9006d1d798f682')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
index 8448f6fde4..1fa3a6e843 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtMaps(PythonPackage):
"""Microsoft Azure Maps Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-maps/azure-mgmt-maps-0.1.0.zip"
+ pypi = "azure-mgmt-maps/azure-mgmt-maps-0.1.0.zip"
version('0.1.0', sha256='c120e210bb61768da29de24d28b82f8d42ae24e52396eb6569b499709e22f006')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
index a09eaf331c..708510f77d 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtMarketplaceordering(PythonPackage):
"""Microsoft Azure Market Place Ordering Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-marketplaceordering/azure-mgmt-marketplaceordering-0.2.1.zip"
+ pypi = "azure-mgmt-marketplaceordering/azure-mgmt-marketplaceordering-0.2.1.zip"
version('0.2.1', sha256='dc765cde7ec03efe456438c85c6207c2f77775a8ce8a7adb19b0df5c5dc513c2')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
index 7ef8dd5201..b416ee0363 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtMedia(PythonPackage):
"""Microsoft Azure Media Services Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-media/azure-mgmt-media-2.2.0.zip"
+ pypi = "azure-mgmt-media/azure-mgmt-media-2.2.0.zip"
version('2.2.0', sha256='0adeee9e654a9011f5107def06fea6838864a3514a1e5a9ed495f3a56a687cc7')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
index 681dbf6c22..b602c9630d 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtMonitor(PythonPackage):
"""Microsoft Azure Monitor Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-monitor/azure-mgmt-monitor-0.11.0.zip"
+ pypi = "azure-mgmt-monitor/azure-mgmt-monitor-0.11.0.zip"
version('0.11.0', sha256='c6e1fe83dd2ddffa7f6d90c7aa63b3128042396a3893c14dc4816ad28cb15016')
version('0.10.0', sha256='d57d604cc1a7a9ce35eb7cf8a00d4924887c688aa78dc035ea1f80066b297464')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
index abdbdc640a..621a640c5a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtMsi(PythonPackage):
"""Microsoft Azure MSI Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-msi/azure-mgmt-msi-1.0.0.zip"
+ pypi = "azure-mgmt-msi/azure-mgmt-msi-1.0.0.zip"
version('1.0.0', sha256='d46f3aab25db3dad520e4055c1d67afe4fcc6d66335c762134e60f82265f8f58')
version('0.2.0', sha256='8622bc9a164169a0113728ebe7fd43a88189708ce6e10d4507247d6907987167')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
index 401b2078c3..4c7a60033a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtNetapp(PythonPackage):
"""Microsoft Azure NetApp Files Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-netapp/azure-mgmt-netapp-0.11.0.zip"
+ pypi = "azure-mgmt-netapp/azure-mgmt-netapp-0.11.0.zip"
version('0.11.0', sha256='621a76b06c97e858d49b68953e66eb718ac24f91aa6bf090f32a335a38f02305')
version('0.8.0', sha256='67df7c7391c2179423a95927a639492c3a177bff8f3a80e4b2d666a86e2d6f6d')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
index 549160d7ea..6286608906 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtNetwork(PythonPackage):
"""Microsoft Azure Network Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-network/azure-mgmt-network-11.0.0.zip"
+ pypi = "azure-mgmt-network/azure-mgmt-network-11.0.0.zip"
version('11.0.0', sha256='7fdfc631c660cb173eee88abbb7b8be7742f91b522be6017867f217409cd69bc')
version('10.2.0', sha256='d50c74cdc1c9be6861ddef9adffd3b05afc5a5092baf0209eea30f4439cba2d9')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py
index 4c4dda2d0d..c67ccf6219 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtNspkg(PythonPackage):
"""Microsoft Azure Resource Management Namespace Package [Internal]."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-nspkg/azure-mgmt-nspkg-3.0.2.zip"
+ pypi = "azure-mgmt-nspkg/azure-mgmt-nspkg-3.0.2.zip"
version('3.0.2', sha256='8b2287f671529505b296005e6de9150b074344c2c7d1c805b3f053d081d58c52')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
index c0532b307a..a2f59dbb05 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtPolicyinsights(PythonPackage):
"""Microsoft Azure Policy Insights Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-policyinsights/azure-mgmt-policyinsights-0.5.0.zip"
+ pypi = "azure-mgmt-policyinsights/azure-mgmt-policyinsights-0.5.0.zip"
version('0.5.0', sha256='ed229e3845c477e88dde413825d4fba0d38b3a5ffab4e694c7d0da995f3db0f3')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
index 5aa65aec57..18a94d00f0 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtPrivatedns(PythonPackage):
"""Microsoft Azure DNS Private Zones Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-privatedns/azure-mgmt-privatedns-0.1.0.zip"
+ pypi = "azure-mgmt-privatedns/azure-mgmt-privatedns-0.1.0.zip"
version('0.1.0', sha256='d29cfd8cec806e06673d9382d3f5766fc65d9a9de75b424705094a34a7db8d23')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
index c375a82622..94d9732811 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtRdbms(PythonPackage):
"""Microsoft Azure RDBMS Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-rdbms/azure-mgmt-rdbms-2.2.0.zip"
+ pypi = "azure-mgmt-rdbms/azure-mgmt-rdbms-2.2.0.zip"
version('2.2.0', sha256='f93344897a9bfa6ebc57dd0c10ad79602ff7965c322c65115e3f4b8584bbe1c7')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
index 67a5987b8f..fc984fc1ef 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtRecoveryservices(PythonPackage):
"""Microsoft Azure Recovery Services Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-recoveryservices/azure-mgmt-recoveryservices-0.5.0.zip"
+ pypi = "azure-mgmt-recoveryservices/azure-mgmt-recoveryservices-0.5.0.zip"
version('0.5.0', sha256='3c90e6b2e358dbe6d5c6d7204955bdf52c3e977c6f8b727cbbb8811427d7fd52')
version('0.4.0', sha256='e1e794760232239f8a9328d5de1740565ff70d1612a2921c9609746ba5671e6c')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
index 96b755acef..db71da786f 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtRecoveryservicesbackup(PythonPackage):
Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-recoveryservicesbackup/azure-mgmt-recoveryservicesbackup-0.8.0.zip"
+ pypi = "azure-mgmt-recoveryservicesbackup/azure-mgmt-recoveryservicesbackup-0.8.0.zip"
version('0.8.0', sha256='a0ee89691b21945cc4b892a9194320f50c1cd242d98f00a82d7e3848c28517a5')
version('0.6.0', sha256='4df62479c90a6f93e7689f9d58e0a139899f0407f5e3298d5ce014442599428f')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
index 6503254cd8..63dda7c01a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtRedhatopenshift(PythonPackage):
"""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-redhatopenshift/azure-mgmt-redhatopenshift-0.1.0.zip"
+ pypi = "azure-mgmt-redhatopenshift/azure-mgmt-redhatopenshift-0.1.0.zip"
version('0.1.0', sha256='565afbc63f5283f37c76135174f2ca20dd417da3e24b3fb1e132c4a0e2a2c5bc')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
index 90d0e95241..ea07c43c47 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtRedis(PythonPackage):
"""Microsoft Azure Redis Cache Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-redis/azure-mgmt-redis-6.0.0.zip"
+ pypi = "azure-mgmt-redis/azure-mgmt-redis-6.0.0.zip"
# Release candidate needed for py-azure-cli
version('7.0.0rc1', sha256='d3cc259c507b79962495ed00d0a3432a45e4e90a0fb48b49e80d51cdc398dc20')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
index fee12b519b..ceb967ce12 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtRelay(PythonPackage):
"""Microsoft Azure Relay Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-relay/azure-mgmt-relay-0.2.0.zip"
+ pypi = "azure-mgmt-relay/azure-mgmt-relay-0.2.0.zip"
version('0.2.0', sha256='a7e8341b2920d1d45bdf73d2b7825c44427d33fb0d820aceb11c94432323bf68')
version('0.1.0', sha256='d9f987cf2998b8a354f331b2a71082c049193f1e1cd345812e14b9b821365acb')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
index b14a6d83dc..0372911241 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtReservations(PythonPackage):
"""Microsoft Azure Reservations Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-reservations/azure-mgmt-reservations-0.7.0.zip"
+ pypi = "azure-mgmt-reservations/azure-mgmt-reservations-0.7.0.zip"
version('0.7.0', sha256='f65c1985a47e0ac55e7d5d9cc1bd5e95335a111566edc289d460aa2bc8f80991')
version('0.6.0', sha256='83a9a70d6fd78b8b3e92ca64bbc1fde8d1bc5e2efea54076052c51c946b4cc9b')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py
index f22f77fd46..a04dd86abf 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtResource(PythonPackage):
"""Microsoft Azure Resource Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-resource/azure-mgmt-resource-10.0.0.zip"
+ pypi = "azure-mgmt-resource/azure-mgmt-resource-10.0.0.zip"
version('10.0.0', sha256='bd9a3938f5423741329436d2da09693845c2fad96c35fadbd7c5ae5213208345')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
index 42e7eae43d..ce56d7728f 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtSearch(PythonPackage):
"""Microsoft Azure Search Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-search/azure-mgmt-search-2.1.0.zip"
+ pypi = "azure-mgmt-search/azure-mgmt-search-2.1.0.zip"
version('2.1.0', sha256='92a40a1a7a9e3a82b6fa302042799e8d5a67d3996c20835af72afc14f1610501')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
index 27778ebcba..e1973eef53 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtSecurity(PythonPackage):
"""Microsoft Azure Security Center Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-security/azure-mgmt-security-0.4.1.zip"
+ pypi = "azure-mgmt-security/azure-mgmt-security-0.4.1.zip"
version('0.4.1', sha256='391c8df5400485049a6c19d50e536304c186bb64fd569eec0c6d01d20220ee21')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
index 22fba6dcf8..4a1d4c6ff4 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtServicebus(PythonPackage):
"""Microsoft Azure Service Bus Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-servicebus/azure-mgmt-servicebus-0.6.0.zip"
+ pypi = "azure-mgmt-servicebus/azure-mgmt-servicebus-0.6.0.zip"
version('0.6.0', sha256='f20920b8fb119ef4abeda4d2dac765a4fc48cd0bcf30c27f8c4cc6d890bc08b1')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
index 519f7c632f..d0ce9cc402 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtServicefabric(PythonPackage):
"""Microsoft Azure Service Fabric Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-servicefabric/azure-mgmt-servicefabric-0.4.0.zip"
+ pypi = "azure-mgmt-servicefabric/azure-mgmt-servicefabric-0.4.0.zip"
version('0.4.0', sha256='a2cbd2797e796a550a93d37229b2ded22765f50166730a63c8e20a27677e28f4')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
index 298f1b7b05..d7387450f5 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtSignalr(PythonPackage):
"""Microsoft Azure SignalR Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-signalr/azure-mgmt-signalr-0.4.0.zip"
+ pypi = "azure-mgmt-signalr/azure-mgmt-signalr-0.4.0.zip"
version('0.4.0', sha256='6503ddda9d6f4b634dfeb8eb4bcd14ede5e0900585f6c83bf9010cf82215c126')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
index 8bfe3781bb..fa4defbcea 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtSql(PythonPackage):
"""Microsoft Azure SQL Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-sql/azure-mgmt-sql-0.19.0.zip"
+ pypi = "azure-mgmt-sql/azure-mgmt-sql-0.19.0.zip"
version('0.19.0', sha256='694649d4c9c5f89e543f23ec10e450b6382b2f1bc5843ef266cfc302276038c6')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
index 03565edb89..f5a9f89f57 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
@@ -9,7 +9,7 @@ class PyAzureMgmtSqlvirtualmachine(PythonPackage):
Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-sqlvirtualmachine/azure-mgmt-sqlvirtualmachine-0.5.0.zip"
+ pypi = "azure-mgmt-sqlvirtualmachine/azure-mgmt-sqlvirtualmachine-0.5.0.zip"
version('0.5.0', sha256='b5a9423512a7b12844ac014366a1d53c81017a14f39676beedf004a532aa2aad')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
index f53822ef94..53a93c70a4 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtStorage(PythonPackage):
"""Microsoft Azure Storage Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-storage/azure-mgmt-storage-11.1.0.zip"
+ pypi = "azure-mgmt-storage/azure-mgmt-storage-11.1.0.zip"
version('11.1.0', sha256='ef23587c1b6dc0866ebf0e91e83ba05d7f7e4fea7951b704781b9cd9f5f27f1c')
version('11.0.0', sha256='f9791c2a84eee0a55bbf757632a2a4d1e102db958e75422d5e0e7306041129b8')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
index fa6dc2c756..36cf9ce74a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtTrafficmanager(PythonPackage):
"""Microsoft Azure Traffic Manager Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-trafficmanager/azure-mgmt-trafficmanager-0.51.0.zip"
+ pypi = "azure-mgmt-trafficmanager/azure-mgmt-trafficmanager-0.51.0.zip"
version('0.51.0', sha256='fc8ae77022cfe52fda4379a2f31e0b857574d536e41291a7b569b5c0f4104186')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
index b4d7f2ba45..58050038c0 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
@@ -8,7 +8,7 @@ class PyAzureMgmtWeb(PythonPackage):
"""Microsoft Azure Web Apps Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-web/azure-mgmt-web-0.47.0.zip"
+ pypi = "azure-mgmt-web/azure-mgmt-web-0.47.0.zip"
version('0.47.0', sha256='789a328e2a60df48a82452ca6fbc1a7b4adf3c38d4701d278efe4e81cf21cce8')
diff --git a/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py b/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
index 5d5a8442b5..d44728b8c2 100644
--- a/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
@@ -9,7 +9,7 @@ class PyAzureMultiapiStorage(PythonPackage):
version support."""
homepage = "https://github.com/Azure/azure-multiapi-storage-python"
- url = "https://pypi.io/packages/source/a/azure-multiapi-storage/azure-multiapi-storage-0.3.5.tar.gz"
+ pypi = "azure-multiapi-storage/azure-multiapi-storage-0.3.5.tar.gz"
version('0.3.5', sha256='71c238c785786a159b3ffd587a5e7fa1d9a517b66b592ae277fed73a9fbfa2b0')
diff --git a/var/spack/repos/builtin/packages/py-azure-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-nspkg/package.py
index 8e1b468565..8970559ff5 100644
--- a/var/spack/repos/builtin/packages/py-azure-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-nspkg/package.py
@@ -8,7 +8,7 @@ class PyAzureNspkg(PythonPackage):
"""Microsoft Azure Namespace Package [Internal]."""
homepage = "hhttps://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-nspkg/azure-nspkg-3.0.2.zip"
+ pypi = "azure-nspkg/azure-nspkg-3.0.2.zip"
version('3.0.2', sha256='e7d3cea6af63e667d87ba1ca4f8cd7cb4dfca678e4c55fc1cedb320760e39dd0')
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-common/package.py b/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
index 70902f28d9..bb78ebf8c6 100644
--- a/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
@@ -8,7 +8,7 @@ class PyAzureStorageCommon(PythonPackage):
"""Microsoft Azure Storage Common Client Library for Python."""
homepage = "https://github.com/Azure/azure-storage-python"
- url = "https://pypi.io/packages/source/a/azure-storage-common/azure-storage-common-2.1.0.tar.gz"
+ pypi = "azure-storage-common/azure-storage-common-2.1.0.tar.gz"
version('2.1.0', sha256='ccedef5c67227bc4d6670ffd37cec18fb529a1b7c3a5e53e4096eb0cf23dc73f')
version('1.4.2', sha256='4ec87c7537d457ec95252e0e46477e2c1ccf33774ffefd05d8544682cb0ae401')
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
index da8878813f..a50b9f8dba 100644
--- a/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
@@ -8,7 +8,7 @@ class PyAzureStorageNspkg(PythonPackage):
"""Microsoft Azure Storage Namespace Package."""
homepage = "https://github.com/Azure/azure-storage-python"
- url = "https://pypi.io/packages/source/a/azure-storage-nspkg/azure-storage-nspkg-3.1.0.tar.gz"
+ pypi = "azure-storage-nspkg/azure-storage-nspkg-3.1.0.tar.gz"
version('3.1.0', sha256='6f3bbe8652d5f542767d8433e7f96b8df7f518774055ac7c92ed7ca85f653811')
diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py
index 13bf99a07b..e6ba5aa02b 100644
--- a/var/spack/repos/builtin/packages/py-babel/package.py
+++ b/var/spack/repos/builtin/packages/py-babel/package.py
@@ -12,7 +12,7 @@ class PyBabel(PythonPackage):
emphasis on web-based applications."""
homepage = "http://babel.pocoo.org/en/latest/"
- url = "https://pypi.io/packages/source/B/Babel/Babel-2.7.0.tar.gz"
+ pypi = "Babel/Babel-2.7.0.tar.gz"
version('2.7.0', sha256='e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28')
version('2.6.0', sha256='8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23')
diff --git a/var/spack/repos/builtin/packages/py-backcall/package.py b/var/spack/repos/builtin/packages/py-backcall/package.py
index 084f6f833b..1f12604d96 100644
--- a/var/spack/repos/builtin/packages/py-backcall/package.py
+++ b/var/spack/repos/builtin/packages/py-backcall/package.py
@@ -10,6 +10,6 @@ class PyBackcall(PythonPackage):
"""Specifications for callback functions passed in to an API"""
homepage = "https://github.com/takluyver/backcall"
- url = "https://pypi.io/packages/source/b/backcall/backcall-0.1.0.tar.gz"
+ pypi = "backcall/backcall-0.1.0.tar.gz"
version('0.1.0', sha256='38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4')
diff --git a/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py b/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py
index aedc9c9ca7..293c33c16f 100644
--- a/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py
@@ -10,7 +10,7 @@ class PyBackportsFunctoolsLruCache(PythonPackage):
"""Backport of functools.lru_cache from Python 3.3"""
homepage = "https://github.com/jaraco/backports.functools_lru_cache"
- url = "https://pypi.io/packages/source/b/backports.functools_lru_cache/backports.functools_lru_cache-1.4.tar.gz"
+ pypi = "backports.functools_lru_cache/backports.functools_lru_cache-1.4.tar.gz"
py_namespace = 'backports'
diff --git a/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py b/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py
index 43ea3b0cca..aa302faee6 100644
--- a/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py
@@ -10,8 +10,7 @@ class PyBackportsShutilGetTerminalSize(PythonPackage):
"""A backport of the get_terminal_size function
from Python 3.3's shutil."""
- homepage = "https://pypi.python.org/pypi/backports.shutil_get_terminal_size"
- url = "https://pypi.io/packages/source/b/backports.shutil_get_terminal_size/backports.shutil_get_terminal_size-1.0.0.tar.gz"
+ pypi = "backports.shutil_get_terminal_size/backports.shutil_get_terminal_size-1.0.0.tar.gz"
py_namespace = 'backports'
diff --git a/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py b/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py
index 5a3559edef..2c1592bb10 100644
--- a/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyBackportsSslMatchHostname(PythonPackage):
"""The ssl.match_hostname() function from Python 3.5"""
- homepage = "https://pypi.python.org/pypi/backports.ssl_match_hostname"
- url = "https://pypi.io/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz"
+ pypi = "backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz"
py_namespace = 'backports'
diff --git a/var/spack/repos/builtin/packages/py-backports-tempfile/package.py b/var/spack/repos/builtin/packages/py-backports-tempfile/package.py
index b3771f02e1..24ced6b4c5 100644
--- a/var/spack/repos/builtin/packages/py-backports-tempfile/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-tempfile/package.py
@@ -12,7 +12,7 @@ class PyBackportsTempfile(PythonPackage):
"""
homepage = "https://github.com/PiDelport/backports.tempfile"
- url = "https://pypi.io/packages/source/b/backports.tempfile/backports.tempfile-1.0.tar.gz"
+ pypi = "backports.tempfile/backports.tempfile-1.0.tar.gz"
version('1.0', sha256='1c648c452e8770d759bdc5a5e2431209be70d25484e1be24876cf2168722c762')
diff --git a/var/spack/repos/builtin/packages/py-backports-weakref/package.py b/var/spack/repos/builtin/packages/py-backports-weakref/package.py
index ef88d79256..5d2c7633c8 100644
--- a/var/spack/repos/builtin/packages/py-backports-weakref/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-weakref/package.py
@@ -10,7 +10,7 @@ class PyBackportsWeakref(PythonPackage):
"""Backports of new features in Python's weakref module"""
homepage = "https://github.com/PiDelport/backports.weakref"
- url = "https://pypi.io/packages/source/b/backports.weakref/backports.weakref-1.0.post1.tar.gz"
+ pypi = "backports.weakref/backports.weakref-1.0.post1.tar.gz"
version('1.0.post1', sha256='bc4170a29915f8b22c9e7c4939701859650f2eb84184aee80da329ac0b9825c2', preferred=True)
version('1.0rc1', sha256='8813bf712a66b3d8b85dc289e1104ed220f1878cf981e2fe756dfaabe9a82892')
diff --git a/var/spack/repos/builtin/packages/py-bcbio-gff/package.py b/var/spack/repos/builtin/packages/py-bcbio-gff/package.py
index 68e6abd7a3..ff772cac5c 100644
--- a/var/spack/repos/builtin/packages/py-bcbio-gff/package.py
+++ b/var/spack/repos/builtin/packages/py-bcbio-gff/package.py
@@ -10,8 +10,7 @@ class PyBcbioGff(PythonPackage):
"""Read and write Generic Feature Format (GFF) with Biopython
integration."""
- homepage = "https://pypi.python.org/pypi/bcbio-gff/0.6.2"
- url = "https://pypi.io/packages/source/b/bcbio-gff/bcbio-gff-0.6.2.tar.gz"
+ pypi = "bcbio-gff/bcbio-gff-0.6.2.tar.gz"
version('0.6.2', sha256='c682dc46a90e9fdb124ab5723797a5f71b2e3534542ceff9f6572b64b9814e68')
diff --git a/var/spack/repos/builtin/packages/py-bcolz/package.py b/var/spack/repos/builtin/packages/py-bcolz/package.py
index 74791dcdc4..620cd1036f 100644
--- a/var/spack/repos/builtin/packages/py-bcolz/package.py
+++ b/var/spack/repos/builtin/packages/py-bcolz/package.py
@@ -16,7 +16,7 @@ class PyBcolz(PythonPackage):
"""
homepage = "https://github.com/Blosc/bcolz"
- url = "https://pypi.io/packages/source/b/bcolz/bcolz-1.2.1.tar.gz"
+ pypi = "bcolz/bcolz-1.2.1.tar.gz"
version('1.2.1', sha256='c017d09bb0cb5bbb07f2ae223a3f3638285be3b574cb328e91525b2880300bd1')
diff --git a/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py b/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py
index 5544150207..df1c47f740 100644
--- a/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py
+++ b/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py
@@ -12,7 +12,7 @@ class PyBeautifulsoup4(PythonPackage):
of navigating, searching, and modifying the parse tree."""
homepage = "https://www.crummy.com/software/BeautifulSoup"
- url = "https://pypi.io/packages/source/b/beautifulsoup4/beautifulsoup4-4.8.0.tar.gz"
+ pypi = "beautifulsoup4/beautifulsoup4-4.8.0.tar.gz"
version('4.8.0', sha256='25288c9e176f354bf277c0a10aa96c782a6a18a17122dba2e8cec4a97e03343b')
version('4.5.3', sha256='b21ca09366fa596043578fd4188b052b46634d22059e68dd0077d9ee77e08a3e')
diff --git a/var/spack/repos/builtin/packages/py-billiard/package.py b/var/spack/repos/builtin/packages/py-billiard/package.py
index 93d717a9f9..14f0a9a64e 100644
--- a/var/spack/repos/builtin/packages/py-billiard/package.py
+++ b/var/spack/repos/builtin/packages/py-billiard/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyBilliard(PythonPackage):
"""Python multiprocessing fork with improvements and bugfixes"""
- homepage = "https://pypi.org/project/billiard/"
- url = "https://pypi.io/packages/source/b/billiard/billiard-3.5.0.5.tar.gz"
+ pypi = "billiard/billiard-3.5.0.5.tar.gz"
version('3.6.3.0', sha256='d91725ce6425f33a97dfa72fb6bfef0e47d4652acd98a032bd1a7fbf06d5fa6a')
version('3.6.1.0', sha256='b8809c74f648dfe69b973c8e660bcec00603758c9db8ba89d7719f88d5f01f26')
diff --git a/var/spack/repos/builtin/packages/py-bintrees/package.py b/var/spack/repos/builtin/packages/py-bintrees/package.py
index b832d60d87..3428242930 100644
--- a/var/spack/repos/builtin/packages/py-bintrees/package.py
+++ b/var/spack/repos/builtin/packages/py-bintrees/package.py
@@ -11,7 +11,7 @@ class PyBintrees(PythonPackage):
"""
homepage = "https://github.com/mozman/bintrees"
- url = "https://pypi.io/packages/source/b/bintrees/bintrees-2.0.7.zip"
+ pypi = "bintrees/bintrees-2.0.7.zip"
version('2.0.7', sha256='60675e6602cef094abcd38bf4aecc067d78ae2d5e1645615c789724542d11270')
diff --git a/var/spack/repos/builtin/packages/py-binwalk/package.py b/var/spack/repos/builtin/packages/py-binwalk/package.py
index fce4309425..270a7ee587 100644
--- a/var/spack/repos/builtin/packages/py-binwalk/package.py
+++ b/var/spack/repos/builtin/packages/py-binwalk/package.py
@@ -12,7 +12,7 @@ class PyBinwalk(PythonPackage):
and extracting firmware images."""
homepage = "https://github.com/devttys0/binwalk"
- url = "https://pypi.io/packages/source/b/binwalk/binwalk-2.1.0.tar.gz"
+ pypi = "binwalk/binwalk-2.1.0.tar.gz"
version('2.1.0', sha256='218c8045c6cb3ed6e21814fb89cdb913808b02dfe5a6cc30f85f4a59e8129f6b')
diff --git a/var/spack/repos/builtin/packages/py-biom-format/package.py b/var/spack/repos/builtin/packages/py-biom-format/package.py
index fae9305010..784455fd9f 100644
--- a/var/spack/repos/builtin/packages/py-biom-format/package.py
+++ b/var/spack/repos/builtin/packages/py-biom-format/package.py
@@ -11,8 +11,7 @@ class PyBiomFormat(PythonPackage):
a general-use format for representing biological sample by observation
contingency tables."""
- homepage = "https://pypi.python.org/pypi/biom-format/2.1.6"
- url = "https://pypi.io/packages/source/b/biom-format/biom-format-2.1.6.tar.gz"
+ pypi = "biom-format/biom-format-2.1.6.tar.gz"
version('2.1.6', sha256='8eefc275a85cc937f6d6f408d91b7b45eae854cd5d1cbda411a3af51f5b49b0d')
diff --git a/var/spack/repos/builtin/packages/py-biopandas/package.py b/var/spack/repos/builtin/packages/py-biopandas/package.py
index 720bd34d28..69da75c849 100644
--- a/var/spack/repos/builtin/packages/py-biopandas/package.py
+++ b/var/spack/repos/builtin/packages/py-biopandas/package.py
@@ -10,7 +10,7 @@ class PyBiopandas(PythonPackage):
"""Working with molecular structures in pandas DataFrames"""
homepage = "http://rasbt.github.io/biopandas"
- url = "https://pypi.io/packages/source/b/biopandas/biopandas-0.2.5.tar.gz"
+ pypi = "biopandas/biopandas-0.2.5.tar.gz"
git = "https://github.com/rasbt/biopandas.git"
# Note that the source package on PyPi is broken as it
diff --git a/var/spack/repos/builtin/packages/py-bitarray/package.py b/var/spack/repos/builtin/packages/py-bitarray/package.py
index e0efb22763..2f3915d397 100644
--- a/var/spack/repos/builtin/packages/py-bitarray/package.py
+++ b/var/spack/repos/builtin/packages/py-bitarray/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyBitarray(PythonPackage):
"""Efficient array of booleans - C extension"""
- homepage = "https://pypi.python.org/pypi/bitarray"
- url = "https://pypi.io/packages/source/b/bitarray/bitarray-0.8.1.tar.gz"
+ pypi = "bitarray/bitarray-0.8.1.tar.gz"
version('0.8.1', sha256='7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18')
diff --git a/var/spack/repos/builtin/packages/py-bitstring/package.py b/var/spack/repos/builtin/packages/py-bitstring/package.py
index 7d96b435dd..f780a0aff3 100644
--- a/var/spack/repos/builtin/packages/py-bitstring/package.py
+++ b/var/spack/repos/builtin/packages/py-bitstring/package.py
@@ -10,6 +10,6 @@ class PyBitstring(PythonPackage):
"""Simple construction, analysis and modification of binary data."""
homepage = "http://pythonhosted.org/bitstring"
- url = "https://pypi.io/packages/source/b/bitstring/bitstring-3.1.5.zip"
+ pypi = "bitstring/bitstring-3.1.5.zip"
version('3.1.5', sha256='c163a86fcef377c314690051885d86b47419e3e1770990c212e16723c1c08faa')
diff --git a/var/spack/repos/builtin/packages/py-black/package.py b/var/spack/repos/builtin/packages/py-black/package.py
index 6ad4fd638f..569e62cf0d 100644
--- a/var/spack/repos/builtin/packages/py-black/package.py
+++ b/var/spack/repos/builtin/packages/py-black/package.py
@@ -13,7 +13,7 @@ class PyBlack(PythonPackage):
"""
homepage = "https://github.com/psf/black"
- url = "https://pypi.io/packages/source/b/black/black-20.8b1.tar.gz"
+ pypi = "black/black-20.8b1.tar.gz"
version('20.8b1', sha256='1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea')
version('19.3b0', sha256='68950ffd4d9169716bcb8719a56c07a2f4485354fec061cdd5910aa07369731c')
diff --git a/var/spack/repos/builtin/packages/py-bleach/package.py b/var/spack/repos/builtin/packages/py-bleach/package.py
index a962f0988c..ab2676bc97 100644
--- a/var/spack/repos/builtin/packages/py-bleach/package.py
+++ b/var/spack/repos/builtin/packages/py-bleach/package.py
@@ -10,7 +10,7 @@ class PyBleach(PythonPackage):
"""An easy whitelist-based HTML-sanitizing tool."""
homepage = "http://github.com/mozilla/bleach"
- url = "https://pypi.io/packages/source/b/bleach/bleach-3.1.0.tar.gz"
+ pypi = "bleach/bleach-3.1.0.tar.gz"
version('3.1.0', sha256='3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa')
version('1.5.0', sha256='978e758599b54cd3caa2e160d74102879b230ea8dc93871d0783721eef58bc65')
diff --git a/var/spack/repos/builtin/packages/py-blessed/package.py b/var/spack/repos/builtin/packages/py-blessed/package.py
index 45b5b3b84c..2928ec3b22 100644
--- a/var/spack/repos/builtin/packages/py-blessed/package.py
+++ b/var/spack/repos/builtin/packages/py-blessed/package.py
@@ -12,7 +12,7 @@ class PyBlessed(PythonPackage):
Python."""
homepage = "https://github.com/jquast/blessed"
- url = "https://pypi.io/packages/source/b/blessed/blessed-1.15.0.tar.gz"
+ pypi = "blessed/blessed-1.15.0.tar.gz"
version('1.15.0', sha256='777b0b6b5ce51f3832e498c22bc6a093b6b5f99148c7cbf866d26e2dec51ef21')
diff --git a/var/spack/repos/builtin/packages/py-blessings/package.py b/var/spack/repos/builtin/packages/py-blessings/package.py
index 9f563b308e..df2dcb555b 100644
--- a/var/spack/repos/builtin/packages/py-blessings/package.py
+++ b/var/spack/repos/builtin/packages/py-blessings/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyBlessings(PythonPackage):
"""A nicer, kinder way to write to the terminal """
homepage = "https://github.com/erikrose/blessings"
- url = "https://pypi.io/packages/source/b/blessings/blessings-1.6.tar.gz"
+ pypi = "blessings/blessings-1.6.tar.gz"
version('1.6', sha256='edc5713061f10966048bf6b40d9a514b381e0ba849c64e034c4ef6c1847d3007')
diff --git a/var/spack/repos/builtin/packages/py-blinker/package.py b/var/spack/repos/builtin/packages/py-blinker/package.py
index dd77fedbe0..382caa4151 100644
--- a/var/spack/repos/builtin/packages/py-blinker/package.py
+++ b/var/spack/repos/builtin/packages/py-blinker/package.py
@@ -10,7 +10,7 @@ class PyBlinker(PythonPackage):
"""Fast, simple object-to-object and broadcast signaling"""
homepage = "https://pythonhosted.org/blinker/"
- url = "https://pypi.io/packages/source/b/blinker/blinker-1.4.tar.gz"
+ pypi = "blinker/blinker-1.4.tar.gz"
version('1.4', sha256='471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6')
diff --git a/var/spack/repos/builtin/packages/py-blis/package.py b/var/spack/repos/builtin/packages/py-blis/package.py
index 74ea43690b..50fc5c0f53 100644
--- a/var/spack/repos/builtin/packages/py-blis/package.py
+++ b/var/spack/repos/builtin/packages/py-blis/package.py
@@ -9,7 +9,7 @@ class PyBlis(PythonPackage):
without the tears"""
homepage = "https://github.com/explosion/cython-blis"
- url = "https://pypi.io/packages/source/b/blis/blis-0.4.1.tar.gz"
+ pypi = "blis/blis-0.4.1.tar.gz"
version('0.4.1', sha256='d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4')
diff --git a/var/spack/repos/builtin/packages/py-bokeh/package.py b/var/spack/repos/builtin/packages/py-bokeh/package.py
index 7b42fde368..d02f1c46ad 100644
--- a/var/spack/repos/builtin/packages/py-bokeh/package.py
+++ b/var/spack/repos/builtin/packages/py-bokeh/package.py
@@ -10,7 +10,7 @@ class PyBokeh(PythonPackage):
"""Statistical and novel interactive HTML plots for Python"""
homepage = "http://github.com/bokeh/bokeh"
- url = "https://pypi.io/packages/source/b/bokeh/bokeh-0.12.2.tar.gz"
+ pypi = "bokeh/bokeh-0.12.2.tar.gz"
version('1.3.4', sha256='e2d97bed5b199a10686486001fed5c854e4c04ebe28859923f27c52b93904754')
version('0.12.2', sha256='0a840f6267b6d342e1bd720deee30b693989538c49644142521d247c0f2e6939')
diff --git a/var/spack/repos/builtin/packages/py-boltons/package.py b/var/spack/repos/builtin/packages/py-boltons/package.py
index 3ecf04e2c1..1935445057 100644
--- a/var/spack/repos/builtin/packages/py-boltons/package.py
+++ b/var/spack/repos/builtin/packages/py-boltons/package.py
@@ -15,7 +15,7 @@ class PyBoltons(PythonPackage):
Otherwise known as, "everyone's util.py," but cleaned up and tested.
"""
homepage = "https://boltons.readthedocs.io/"
- url = "https://pypi.io/packages/source/b/boltons/boltons-16.5.1.tar.gz"
+ pypi = "boltons/boltons-16.5.1.tar.gz"
version('16.5.1', sha256='fcded58596fa79bd1ada4488178e79fd11c7cb449f29ff9a6532411fb2db19b7')
diff --git a/var/spack/repos/builtin/packages/py-boto3/package.py b/var/spack/repos/builtin/packages/py-boto3/package.py
index 0daa62be81..d2089df0ad 100644
--- a/var/spack/repos/builtin/packages/py-boto3/package.py
+++ b/var/spack/repos/builtin/packages/py-boto3/package.py
@@ -10,7 +10,7 @@ class PyBoto3(PythonPackage):
"""The AWS SDK for Python."""
homepage = "https://github.com/boto/boto3"
- url = "https://pypi.io/packages/source/b/boto3/boto3-1.10.44.tar.gz"
+ pypi = "boto3/boto3-1.10.44.tar.gz"
version('1.10.44', sha256='adc0c0269bd65967fd528d7cd826304f381d40d94f2bf2b09f58167e5ac05d86')
version('1.10.38', sha256='6cdb063b2ae5ac7b93ded6b6b17e3da1325b32232d5ff56e6800018d4786bba6')
diff --git a/var/spack/repos/builtin/packages/py-botocore/package.py b/var/spack/repos/builtin/packages/py-botocore/package.py
index fe0f738a34..6c6bcb4a5e 100644
--- a/var/spack/repos/builtin/packages/py-botocore/package.py
+++ b/var/spack/repos/builtin/packages/py-botocore/package.py
@@ -10,7 +10,7 @@ class PyBotocore(PythonPackage):
"""Low-level, data-driven core of boto 3."""
homepage = "https://github.com/boto/botocore"
- url = "https://pypi.io/packages/source/b/botocore/botocore-1.13.44.tar.gz"
+ pypi = "botocore/botocore-1.13.44.tar.gz"
version('1.13.44', sha256='a4409008c32a3305b9c469c5cc92edb5b79d6fcbf6f56fe126886b545f0a4f3f')
version('1.13.38', sha256='15766a367f39dba9de3c6296aaa7da31030f08a0117fd12685e7df682d8acee2')
diff --git a/var/spack/repos/builtin/packages/py-bottleneck/package.py b/var/spack/repos/builtin/packages/py-bottleneck/package.py
index 9bd5adb5f5..f800421e11 100644
--- a/var/spack/repos/builtin/packages/py-bottleneck/package.py
+++ b/var/spack/repos/builtin/packages/py-bottleneck/package.py
@@ -8,8 +8,7 @@ from spack import *
class PyBottleneck(PythonPackage):
"""A collection of fast NumPy array functions written in Cython."""
- homepage = "https://pypi.python.org/pypi/Bottleneck/1.0.0"
- url = "https://pypi.io/packages/source/B/Bottleneck/Bottleneck-1.0.0.tar.gz"
+ pypi = "Bottleneck/Bottleneck-1.0.0.tar.gz"
version('1.2.1', sha256='6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36')
version('1.0.0', sha256='8d9b7ad4fadf9648acc924a6ee522c7cb5b474e75faaad9d90dfd55e2805b495')
diff --git a/var/spack/repos/builtin/packages/py-brian/package.py b/var/spack/repos/builtin/packages/py-brian/package.py
index 770c19340f..1877e12b68 100644
--- a/var/spack/repos/builtin/packages/py-brian/package.py
+++ b/var/spack/repos/builtin/packages/py-brian/package.py
@@ -10,7 +10,7 @@ class PyBrian(PythonPackage):
"""A clock-driven simulator for spiking neural networks"""
homepage = "http://www.briansimulator.org"
- url = "https://pypi.io/packages/source/b/brian/brian-1.4.3.tar.gz"
+ pypi = "brian/brian-1.4.3.tar.gz"
version('1.4.3', sha256='c881dcfcd1a21990f9cb3cca76cdd868111cfd9e227ef5c1b13bb372d2efeaa4')
diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py
index 849ffca005..d5484cff00 100644
--- a/var/spack/repos/builtin/packages/py-brian2/package.py
+++ b/var/spack/repos/builtin/packages/py-brian2/package.py
@@ -10,7 +10,7 @@ class PyBrian2(PythonPackage):
"""A clock-driven simulator for spiking neural networks"""
homepage = "http://www.briansimulator.org"
- url = "https://pypi.io/packages/source/B/Brian2/Brian2-2.2.2.1.tar.gz"
+ pypi = "Brian2/Brian2-2.2.2.1.tar.gz"
version('2.2.2.1', sha256='02075f66d42fd243fc5e28e1add8862709ae9fdabaffb69858e6d7f684a91525')
version('2.0.1', sha256='195d8ced0d20e9069917776948f92aa70b7457bbc6b5222b8199654402ee1153')
diff --git a/var/spack/repos/builtin/packages/py-brotlipy/package.py b/var/spack/repos/builtin/packages/py-brotlipy/package.py
index e83bcafea0..6f2d7e71f4 100644
--- a/var/spack/repos/builtin/packages/py-brotlipy/package.py
+++ b/var/spack/repos/builtin/packages/py-brotlipy/package.py
@@ -10,7 +10,7 @@ class PyBrotlipy(PythonPackage):
"""Python binding to the Brotli library."""
homepage = "https://github.com/python-hyper/brotlipy/"
- url = "https://pypi.io/packages/source/b/brotlipy/brotlipy-0.7.0.tar.gz"
+ pypi = "brotlipy/brotlipy-0.7.0.tar.gz"
version('0.7.0', sha256='36def0b859beaf21910157b4c33eb3b06d8ce459c942102f16988cca6ea164df')
diff --git a/var/spack/repos/builtin/packages/py-bsddb3/package.py b/var/spack/repos/builtin/packages/py-bsddb3/package.py
index 9dcff4735c..f9b5afda18 100644
--- a/var/spack/repos/builtin/packages/py-bsddb3/package.py
+++ b/var/spack/repos/builtin/packages/py-bsddb3/package.py
@@ -12,8 +12,7 @@ class PyBsddb3(PythonPackage):
Sequence and Transaction objects, and each of these is exposed
as a Python type in the bsddb3.db module."""
- homepage = "https://pypi.python.org/pypi/bsddb3/6.2.5"
- url = "https://pypi.io/packages/source/b/bsddb3/bsddb3-6.2.5.tar.gz"
+ pypi = "bsddb3/bsddb3-6.2.5.tar.gz"
version('6.2.5', sha256='784bf40ad935258507594a89b32ea11f362cde120751c8b96de163955ced7db8')
diff --git a/var/spack/repos/builtin/packages/py-bx-python/package.py b/var/spack/repos/builtin/packages/py-bx-python/package.py
index 3d73b21d18..40b99c8182 100644
--- a/var/spack/repos/builtin/packages/py-bx-python/package.py
+++ b/var/spack/repos/builtin/packages/py-bx-python/package.py
@@ -11,7 +11,7 @@ class PyBxPython(PythonPackage):
to allow for rapid implementation of genome scale analyses."""
homepage = "https://github.com/bxlab/bx-python"
- url = "https://pypi.io/packages/source/b/bx-python/bx-python-0.8.8.tar.gz"
+ pypi = "bx-python/bx-python-0.8.8.tar.gz"
version('0.8.8', sha256='ad0808ab19c007e8beebadc31827e0d7560ac0e935f1100fb8cc93607400bb47')
version('0.7.4',
diff --git a/var/spack/repos/builtin/packages/py-bz2file/package.py b/var/spack/repos/builtin/packages/py-bz2file/package.py
index 796e08250f..287dcda81f 100644
--- a/var/spack/repos/builtin/packages/py-bz2file/package.py
+++ b/var/spack/repos/builtin/packages/py-bz2file/package.py
@@ -10,6 +10,6 @@ class PyBz2file(PythonPackage):
"""Python library for reading and writing bzip2-compressed files."""
homepage = "https://github.com/nvawda/bz2file"
- url = "https://pypi.io/packages/source/b/bz2file/bz2file-0.98.tar.gz"
+ pypi = "bz2file/bz2file-0.98.tar.gz"
version('0.98', sha256='64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88')
diff --git a/var/spack/repos/builtin/packages/py-cached-property/package.py b/var/spack/repos/builtin/packages/py-cached-property/package.py
index e5e120e7dd..83ba4c7e41 100644
--- a/var/spack/repos/builtin/packages/py-cached-property/package.py
+++ b/var/spack/repos/builtin/packages/py-cached-property/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyCachedProperty(PythonPackage):
"""A decorator for caching properties in classes."""
- homepage = "https://pypi.org/project/cached-property/"
- url = "https://pypi.io/packages/source/c/cached-property/cached-property-1.5.1.tar.gz"
+ pypi = "cached-property/cached-property-1.5.1.tar.gz"
version('1.5.2', sha256="9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130")
version('1.5.1', sha256="9217a59f14a5682da7c4b8829deadbfc194ac22e9908ccf7c8820234e80a1504")
diff --git a/var/spack/repos/builtin/packages/py-cachetools/package.py b/var/spack/repos/builtin/packages/py-cachetools/package.py
index a35b423504..ed78d7fb7d 100644
--- a/var/spack/repos/builtin/packages/py-cachetools/package.py
+++ b/var/spack/repos/builtin/packages/py-cachetools/package.py
@@ -12,7 +12,7 @@ class PyCachetools(PythonPackage):
decorator."""
homepage = "https://github.com/tkem/cachetools"
- url = "https://pypi.io/packages/source/c/cachetools/cachetools-3.1.1.tar.gz"
+ pypi = "cachetools/cachetools-3.1.1.tar.gz"
version('3.1.1', sha256='8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a')
diff --git a/var/spack/repos/builtin/packages/py-cairocffi/package.py b/var/spack/repos/builtin/packages/py-cairocffi/package.py
index 1fd2a95fbb..3c8e33b9b7 100644
--- a/var/spack/repos/builtin/packages/py-cairocffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cairocffi/package.py
@@ -13,7 +13,7 @@ class PyCairocffi(PythonPackage):
buffers, PNG, PostScript, PDF, and SVG file output."""
homepage = "https://github.com/Kozea/cairocffi"
- url = "https://pypi.io/packages/source/c/cairocffi/cairocffi-1.0.2.tar.gz"
+ pypi = "cairocffi/cairocffi-1.0.2.tar.gz"
version('1.0.2', sha256='01ac51ae12c4324ca5809ce270f9dd1b67f5166fe63bd3e497e9ea3ca91946ff')
diff --git a/var/spack/repos/builtin/packages/py-catalogue/package.py b/var/spack/repos/builtin/packages/py-catalogue/package.py
index 799f5bb2ff..8db2a59e8e 100644
--- a/var/spack/repos/builtin/packages/py-catalogue/package.py
+++ b/var/spack/repos/builtin/packages/py-catalogue/package.py
@@ -8,7 +8,7 @@ class PyCatalogue(PythonPackage):
"""catalogue: Super lightweight function registries for your library."""
homepage = "https://github.com/explosion/catalogue"
- url = "https://pypi.io/packages/source/c/catalogue/catalogue-2.0.0.tar.gz"
+ pypi = "catalogue/catalogue-2.0.0.tar.gz"
version('2.0.0', sha256='34f8416ec5e7ed08e55c10414416e67c3f4d66edf83bc67320c3290775293816')
version('1.0.0', sha256='d74d1d856c6b36a37bf14aa6dbbc27d0582667b7ab979a6108e61a575e8723f5')
diff --git a/var/spack/repos/builtin/packages/py-catkin-pkg/package.py b/var/spack/repos/builtin/packages/py-catkin-pkg/package.py
index 8ab3a6de11..7c199105b8 100644
--- a/var/spack/repos/builtin/packages/py-catkin-pkg/package.py
+++ b/var/spack/repos/builtin/packages/py-catkin-pkg/package.py
@@ -8,7 +8,7 @@ class PyCatkinPkg(PythonPackage):
"""Library for retrieving information about catkin packages."""
homepage = "https://wiki.ros.org/catkin_pkg"
- url = "https://pypi.io/packages/source/c/catkin-pkg/catkin_pkg-0.4.23.tar.gz"
+ pypi = "catkin-pkg/catkin_pkg-0.4.23.tar.gz"
version('0.4.23', sha256='28ee181cca827c0aabf9397351f58a97e1475ca5ac7c106a5916e3ee191cd3d0')
diff --git a/var/spack/repos/builtin/packages/py-cdat-lite/package.py b/var/spack/repos/builtin/packages/py-cdat-lite/package.py
index db51d6e3ec..6b05cdcf0d 100644
--- a/var/spack/repos/builtin/packages/py-cdat-lite/package.py
+++ b/var/spack/repos/builtin/packages/py-cdat-lite/package.py
@@ -13,7 +13,7 @@ class PyCdatLite(PythonPackage):
developed by PCMDI at Lawrence Livermore National Laboratory."""
homepage = "http://proj.badc.rl.ac.uk/cedaservices/wiki/CdatLite"
- url = "https://pypi.io/packages/source/c/cdat-lite/cdat-lite-6.0.1.tar.gz"
+ pypi = "cdat-lite/cdat-lite-6.0.1.tar.gz"
version('6.0.1', sha256='092ae4ff1fb03dee00096e8dd595b769b422759ce972d96525950adf8e1c9374')
diff --git a/var/spack/repos/builtin/packages/py-cdo/package.py b/var/spack/repos/builtin/packages/py-cdo/package.py
index 674900d87d..ed431a20c5 100644
--- a/var/spack/repos/builtin/packages/py-cdo/package.py
+++ b/var/spack/repos/builtin/packages/py-cdo/package.py
@@ -10,8 +10,7 @@ class PyCdo(PythonPackage):
"""The cdo package provides an interface to the Climate Data
Operators from Python."""
- homepage = "https://pypi.python.org/pypi/cdo"
- url = "https://pypi.io/packages/source/c/cdo/cdo-1.3.2.tar.gz"
+ pypi = "cdo/cdo-1.3.2.tar.gz"
version('1.3.2', sha256='9f78879d90d14134f2320565016d0d371b7dfe7ec71110fd313868ec1db34aee')
diff --git a/var/spack/repos/builtin/packages/py-cdsapi/package.py b/var/spack/repos/builtin/packages/py-cdsapi/package.py
index 7d5ed6c865..103cdaab17 100644
--- a/var/spack/repos/builtin/packages/py-cdsapi/package.py
+++ b/var/spack/repos/builtin/packages/py-cdsapi/package.py
@@ -10,7 +10,7 @@ class PyCdsapi(PythonPackage):
"""The Climate Data Store Application Program Interface is a service providing programmatic access to CDS data. Get your UID and API key from the CDS portal at the address https://cds.climate.copernicus.eu/user and write it into the configuration file. Look at https://pypi.org/project/cdsapi/ for an example"""
homepage = "https://cds.climate.copernicus.eu"
- url = "https://pypi.io/packages/source/c/cdsapi/cdsapi-0.2.3.tar.gz"
+ pypi = "cdsapi/cdsapi-0.2.3.tar.gz"
version('0.2.3', sha256='333b31ec263224399635db9b21a2e1a50cd73451f5179f8d967437e7c9161d9b')
diff --git a/var/spack/repos/builtin/packages/py-celery/package.py b/var/spack/repos/builtin/packages/py-celery/package.py
index ff0eab1b63..3d3167b19b 100644
--- a/var/spack/repos/builtin/packages/py-celery/package.py
+++ b/var/spack/repos/builtin/packages/py-celery/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyCelery(PythonPackage):
"""Celery - Distributed Task Queue."""
- homepage = "https://pypi.org/project/celery/"
- url = "https://pypi.io/packages/source/c/celery/celery-4.2.1.tar.gz"
+ pypi = "celery/celery-4.2.1.tar.gz"
version('5.0.0', sha256='313930fddde703d8e37029a304bf91429cd11aeef63c57de6daca9d958e1f255')
version('4.4.7', sha256='d220b13a8ed57c78149acf82c006785356071844afe0b27012a4991d44026f9f')
diff --git a/var/spack/repos/builtin/packages/py-certifi/package.py b/var/spack/repos/builtin/packages/py-certifi/package.py
index 78c70cff3f..20554bec1f 100644
--- a/var/spack/repos/builtin/packages/py-certifi/package.py
+++ b/var/spack/repos/builtin/packages/py-certifi/package.py
@@ -12,7 +12,7 @@ class PyCertifi(PythonPackage):
hosts."""
homepage = "http://certifi.io/"
- url = "https://pypi.io/packages/source/c/certifi/certifi-2020.6.20.tar.gz"
+ pypi = "certifi/certifi-2020.6.20.tar.gz"
version('2020.6.20', sha256='5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3')
version('2019.9.11', sha256='e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50')
diff --git a/var/spack/repos/builtin/packages/py-certipy/package.py b/var/spack/repos/builtin/packages/py-certipy/package.py
index 1fe73e8dc7..53a9e034b9 100644
--- a/var/spack/repos/builtin/packages/py-certipy/package.py
+++ b/var/spack/repos/builtin/packages/py-certipy/package.py
@@ -10,8 +10,7 @@ class PyCertipy(PythonPackage):
"""A simple python tool for creating certificate authorities
and certificates on the fly."""
- homepage = "https://pypi.org/project/certipy/"
- url = "https://pypi.io/packages/source/c/certipy/certipy-0.1.3.tar.gz"
+ pypi = "certipy/certipy-0.1.3.tar.gz"
version('0.1.3', sha256='695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859')
diff --git a/var/spack/repos/builtin/packages/py-cf-units/package.py b/var/spack/repos/builtin/packages/py-cf-units/package.py
index 54d6e909b3..bc1af304e7 100644
--- a/var/spack/repos/builtin/packages/py-cf-units/package.py
+++ b/var/spack/repos/builtin/packages/py-cf-units/package.py
@@ -12,7 +12,7 @@ class PyCfUnits(PythonPackage):
"""
homepage = "https://scitools.org.uk"
- url = "https://pypi.io/packages/source/c/cf-units/cf-units-2.1.1.tar.gz"
+ pypi = "cf-units/cf-units-2.1.1.tar.gz"
git = "https://github.com/SciTools/cf-units.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py
index 74168d93ab..6ef5bd421c 100644
--- a/var/spack/repos/builtin/packages/py-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cffi/package.py
@@ -11,7 +11,7 @@ class PyCffi(PythonPackage):
"""Foreign Function Interface for Python calling C code"""
homepage = "https://cffi.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/c/cffi/cffi-1.13.0.tar.gz"
+ pypi = "cffi/cffi-1.13.0.tar.gz"
version('1.14.3', sha256='f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591')
version('1.13.0', sha256='8fe230f612c18af1df6f348d02d682fe2c28ca0a6c3856c99599cdacae7cf226')
diff --git a/var/spack/repos/builtin/packages/py-cfgv/package.py b/var/spack/repos/builtin/packages/py-cfgv/package.py
index a9465eb0fc..8239237fba 100644
--- a/var/spack/repos/builtin/packages/py-cfgv/package.py
+++ b/var/spack/repos/builtin/packages/py-cfgv/package.py
@@ -10,7 +10,7 @@ class PyCfgv(PythonPackage):
"""Validate configuration and produce human readable error messages."""
homepage = "https://github.com/asottile/cfgv/"
- url = "https://pypi.io/packages/source/c/cfgv/cfgv-2.0.1.tar.gz"
+ pypi = "cfgv/cfgv-2.0.1.tar.gz"
version('2.0.1', sha256='edb387943b665bf9c434f717bf630fa78aecd53d5900d2e05da6ad6048553144')
diff --git a/var/spack/repos/builtin/packages/py-chai/package.py b/var/spack/repos/builtin/packages/py-chai/package.py
index f2e7ff7f54..4ccfe6a7e0 100644
--- a/var/spack/repos/builtin/packages/py-chai/package.py
+++ b/var/spack/repos/builtin/packages/py-chai/package.py
@@ -10,7 +10,7 @@ class PyChai(PythonPackage):
"""Chai - Python Mocking Made Easy"""
homepage = "https://github.com/agoragames/chai"
- url = "https://pypi.io/packages/source/c/chai/chai-1.1.2.tar.gz"
+ pypi = "chai/chai-1.1.2.tar.gz"
version('1.1.2', sha256='ff8d2b6855f660cd23cd5ec79bd10264d39f24f6235773331b48e7fcd637d6cc')
diff --git a/var/spack/repos/builtin/packages/py-chainmap/package.py b/var/spack/repos/builtin/packages/py-chainmap/package.py
index f68782e7b4..fa0e61686a 100644
--- a/var/spack/repos/builtin/packages/py-chainmap/package.py
+++ b/var/spack/repos/builtin/packages/py-chainmap/package.py
@@ -12,7 +12,7 @@ class PyChainmap(PythonPackage):
ChainMap implementations."""
homepage = "https://bitbucket.org/jeunice/chainmap/src/default/"
- url = "https://pypi.io/packages/source/c/chainmap/chainmap-1.0.3.tar.gz"
+ pypi = "chainmap/chainmap-1.0.3.tar.gz"
version('1.0.3', sha256='e42aaa4b3e2f66102a11bfd563069704bfbfd84fdcb517b564effd736bf53cd9')
version('1.0.2', sha256='405da3bce9913bfb33e6e497803b447b60d12ab44031ca357626143e087e0526')
diff --git a/var/spack/repos/builtin/packages/py-chardet/package.py b/var/spack/repos/builtin/packages/py-chardet/package.py
index ba24e728d7..ba04cc9bbc 100644
--- a/var/spack/repos/builtin/packages/py-chardet/package.py
+++ b/var/spack/repos/builtin/packages/py-chardet/package.py
@@ -10,7 +10,7 @@ class PyChardet(PythonPackage):
"""Universal encoding detector for Python 2 and 3"""
homepage = "https://github.com/chardet/chardet"
- url = "https://pypi.io/packages/source/c/chardet/chardet-3.0.4.tar.gz"
+ pypi = "chardet/chardet-3.0.4.tar.gz"
version('3.0.4', sha256='84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae')
version('3.0.2', sha256='4f7832e7c583348a9eddd927ee8514b3bf717c061f57b21dbe7697211454d9bb')
diff --git a/var/spack/repos/builtin/packages/py-charm4py/package.py b/var/spack/repos/builtin/packages/py-charm4py/package.py
index 7ebea4ddef..f0779d1021 100644
--- a/var/spack/repos/builtin/packages/py-charm4py/package.py
+++ b/var/spack/repos/builtin/packages/py-charm4py/package.py
@@ -17,7 +17,7 @@ class PyCharm4py(PythonPackage):
from small multi-core devices up to the largest supercomputers."""
homepage = "https://charmpy.readthedocs.io"
- url = "https://pypi.io/packages/source/c/charm4py/charm4py-1.0.tar.gz"
+ pypi = "charm4py/charm4py-1.0.tar.gz"
# Add a list of GitHub accounts to
# notify when the package is updated.
diff --git a/var/spack/repos/builtin/packages/py-checkm-genome/package.py b/var/spack/repos/builtin/packages/py-checkm-genome/package.py
index cc1bee25c9..9cc6b11421 100644
--- a/var/spack/repos/builtin/packages/py-checkm-genome/package.py
+++ b/var/spack/repos/builtin/packages/py-checkm-genome/package.py
@@ -11,7 +11,7 @@ class PyCheckmGenome(PythonPackage):
cells, and metagenomes"""
homepage = "https://ecogenomics.github.io/CheckM"
- url = "https://pypi.io/packages/source/c/checkm-genome/checkm-genome-1.0.11.tar.gz"
+ pypi = "checkm-genome/checkm-genome-1.0.11.tar.gz"
version('1.0.13', sha256='ffb7e4966c0fac07c7e6e7db6f6eb5b48587fa83987f8a68efbaff2afb7da82e')
version('1.0.11', sha256='e475d9817d12fa771dbccc80f47758b742fc67c25261dc8ca0c0dc898c2a5190')
diff --git a/var/spack/repos/builtin/packages/py-cheetah/package.py b/var/spack/repos/builtin/packages/py-cheetah/package.py
index d150293c56..93690426c0 100644
--- a/var/spack/repos/builtin/packages/py-cheetah/package.py
+++ b/var/spack/repos/builtin/packages/py-cheetah/package.py
@@ -9,7 +9,6 @@ from spack import *
class PyCheetah(PythonPackage):
"""Cheetah is a template engine and code generation tool."""
- homepage = "https://pypi.python.org/pypi/Cheetah/2.4.4"
- url = "https://pypi.io/packages/source/C/Cheetah/Cheetah-2.3.0.tar.gz"
+ pypi = "Cheetah/Cheetah-2.3.0.tar.gz"
version('2.3.0', sha256='2a32d7f7f70be98c2d57aa581f979bc799d4bf17d09fc0e7d77280501edf3e53')
diff --git a/var/spack/repos/builtin/packages/py-cheroot/package.py b/var/spack/repos/builtin/packages/py-cheroot/package.py
index f75ef07b58..7161f3766b 100644
--- a/var/spack/repos/builtin/packages/py-cheroot/package.py
+++ b/var/spack/repos/builtin/packages/py-cheroot/package.py
@@ -11,7 +11,7 @@ class PyCheroot(PythonPackage):
""" Highly-optimized, pure-python HTTP server """
homepage = "https://cheroot.cherrypy.org/"
- url = "https://pypi.io/packages/source/c/cheroot/cheroot-6.5.5.tar.gz"
+ pypi = "cheroot/cheroot-6.5.5.tar.gz"
version('8.3.0', sha256='a0577e1f28661727d472671a7cc4e0c12ea0cbc5220265e70f00a8b8cb628931')
version('6.5.5', sha256='f6a85e005adb5bc5f3a92b998ff0e48795d4d98a0fbb7edde47a7513d4100601')
diff --git a/var/spack/repos/builtin/packages/py-cherrypy/package.py b/var/spack/repos/builtin/packages/py-cherrypy/package.py
index 848d185303..dc677a3a16 100644
--- a/var/spack/repos/builtin/packages/py-cherrypy/package.py
+++ b/var/spack/repos/builtin/packages/py-cherrypy/package.py
@@ -10,7 +10,7 @@ class PyCherrypy(PythonPackage):
"""CherryPy is a pythonic, object-oriented HTTP framework."""
homepage = "https://cherrypy.org/"
- url = "https://pypi.io/packages/source/C/CherryPy/CherryPy-18.1.1.tar.gz"
+ pypi = "CherryPy/CherryPy-18.1.1.tar.gz"
version('18.1.1', sha256='6585c19b5e4faffa3613b5bf02c6a27dcc4c69a30d302aba819639a2af6fa48b')
diff --git a/var/spack/repos/builtin/packages/py-cinemasci/package.py b/var/spack/repos/builtin/packages/py-cinemasci/package.py
index b90e979f1f..3ae3e3bf99 100644
--- a/var/spack/repos/builtin/packages/py-cinemasci/package.py
+++ b/var/spack/repos/builtin/packages/py-cinemasci/package.py
@@ -11,7 +11,7 @@ class PyCinemasci(PythonPackage):
databases"""
homepage = "https://github.com/cinemascience"
- url = "https://pypi.io/packages/source/c/cinemasci/cinemasci-1.3.tar.gz"
+ pypi = "cinemasci/cinemasci-1.3.tar.gz"
maintainers = ['EthanS94']
diff --git a/var/spack/repos/builtin/packages/py-click-didyoumean/package.py b/var/spack/repos/builtin/packages/py-click-didyoumean/package.py
index 10052f429f..45e6714fad 100644
--- a/var/spack/repos/builtin/packages/py-click-didyoumean/package.py
+++ b/var/spack/repos/builtin/packages/py-click-didyoumean/package.py
@@ -9,7 +9,7 @@ class PyClickDidyoumean(PythonPackage):
"""Enable git-like did-you-mean feature in click"""
homepage = "https://github.com/click-contrib/click-didyoumean"
- url = "https://files.pythonhosted.org/packages/9f/79/d265d783dd022541b744d002745d9e55d84c04a41930e35d8795934f6526/click-didyoumean-0.0.3.tar.gz"
+ pypi = "click-didyoumean/click-didyoumean-0.0.3.tar.gz"
version('0.0.3', sha256='112229485c9704ff51362fe34b2d4f0b12fc71cc20f6d2b3afabed4b8bfa6aeb')
diff --git a/var/spack/repos/builtin/packages/py-click-plugins/package.py b/var/spack/repos/builtin/packages/py-click-plugins/package.py
index 33ec97c648..736b54afa5 100644
--- a/var/spack/repos/builtin/packages/py-click-plugins/package.py
+++ b/var/spack/repos/builtin/packages/py-click-plugins/package.py
@@ -10,8 +10,7 @@ class PyClickPlugins(PythonPackage):
"""An extension module for py-click to register external CLI
commands via setuptools entry-points."""
- homepage = "https://pypi.org/project/click-plugins/"
- url = "https://pypi.io/packages/source/c/click-plugins/click-plugins-1.0.4.tar.gz"
+ pypi = "click-plugins/click-plugins-1.0.4.tar.gz"
version('1.0.4', sha256='dfed74b5063546a137de99baaaf742b4de4337ad2b3e1df5ec7c8a256adc0847')
diff --git a/var/spack/repos/builtin/packages/py-click-repl/package.py b/var/spack/repos/builtin/packages/py-click-repl/package.py
index 11e1a693ae..b353ed4d8e 100644
--- a/var/spack/repos/builtin/packages/py-click-repl/package.py
+++ b/var/spack/repos/builtin/packages/py-click-repl/package.py
@@ -9,7 +9,7 @@ class PyClickRepl(PythonPackage):
"""Subcommand REPL for click apps """
homepage = "https://github.com/click-contrib/click-repl"
- url = "https://files.pythonhosted.org/packages/51/99/6a722e232f92fdc21c46fd042fea63e7c2fcda3086ff5db62edd595d3f49/click-repl-0.1.6.tar.gz"
+ pypi = "click-repl/click-repl-0.1.6.tar.gz"
version('0.1.6', sha256='b9f29d52abc4d6059f8e276132a111ab8d94980afe6a5432b9d996544afa95d5')
diff --git a/var/spack/repos/builtin/packages/py-click/package.py b/var/spack/repos/builtin/packages/py-click/package.py
index 52e616dbfc..0e6d22cd2c 100644
--- a/var/spack/repos/builtin/packages/py-click/package.py
+++ b/var/spack/repos/builtin/packages/py-click/package.py
@@ -6,7 +6,7 @@ class PyClick(PythonPackage):
"""A simple wrapper around optparse for powerful command line utilities."""
homepage = "http://github.com/mitsuhiko/click"
- url = "https://pypi.io/packages/source/c/click/click-7.1.2.tar.gz"
+ pypi = "click/click-7.1.2.tar.gz"
version('7.1.2', sha256='d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a')
version('7.0', sha256='5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7',
diff --git a/var/spack/repos/builtin/packages/py-clint/package.py b/var/spack/repos/builtin/packages/py-clint/package.py
index e8a82f5ddf..374573ae51 100644
--- a/var/spack/repos/builtin/packages/py-clint/package.py
+++ b/var/spack/repos/builtin/packages/py-clint/package.py
@@ -10,7 +10,7 @@ class PyClint(PythonPackage):
"""Python Command-line Application Tools"""
homepage = "https://github.com/kennethreitz-archive/clint"
- url = "https://pypi.io/packages/source/c/clint/clint-0.5.1.tar.gz"
+ pypi = "clint/clint-0.5.1.tar.gz"
version('0.5.1', sha256='05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa')
diff --git a/var/spack/repos/builtin/packages/py-clipboard/package.py b/var/spack/repos/builtin/packages/py-clipboard/package.py
index b80f58d098..4b01099f06 100644
--- a/var/spack/repos/builtin/packages/py-clipboard/package.py
+++ b/var/spack/repos/builtin/packages/py-clipboard/package.py
@@ -10,7 +10,7 @@ class PyClipboard(PythonPackage):
"""A cross platform clipboard operation library of Python."""
homepage = "https://github.com/terryyin/clipboard"
- url = "https://pypi.io/packages/source/c/clipboard/clipboard-0.0.4.tar.gz"
+ pypi = "clipboard/clipboard-0.0.4.tar.gz"
version('0.0.4', sha256='a72a78e9c9bf68da1c3f29ee022417d13ec9e3824b511559fd2b702b1dd5b817')
diff --git a/var/spack/repos/builtin/packages/py-cloudpickle/package.py b/var/spack/repos/builtin/packages/py-cloudpickle/package.py
index 9328950bba..3c439ec669 100644
--- a/var/spack/repos/builtin/packages/py-cloudpickle/package.py
+++ b/var/spack/repos/builtin/packages/py-cloudpickle/package.py
@@ -10,7 +10,7 @@ class PyCloudpickle(PythonPackage):
"""Extended pickling support for Python objects."""
homepage = "https://github.com/cloudpipe/cloudpickle"
- url = "https://pypi.io/packages/source/c/cloudpickle/cloudpickle-0.5.2.tar.gz"
+ pypi = "cloudpickle/cloudpickle-0.5.2.tar.gz"
version('1.6.0', sha256='9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32')
version('1.2.1', sha256='603244e0f552b72a267d47a7d9b347b27a3430f58a0536037a290e7e0e212ecf')
diff --git a/var/spack/repos/builtin/packages/py-cmake-format/package.py b/var/spack/repos/builtin/packages/py-cmake-format/package.py
index b300b97379..8b2a432c9a 100644
--- a/var/spack/repos/builtin/packages/py-cmake-format/package.py
+++ b/var/spack/repos/builtin/packages/py-cmake-format/package.py
@@ -11,8 +11,7 @@ class PyCmakeFormat(PythonPackage):
cmake. Tools include cmake-annotate, cmake-format, cmake-lint,
and ctest-to."""
- homepage = "https://pypi.python.org/pypi/cmake-format"
- url = "https://pypi.io/packages/source/c/cmake_format/cmake_format-0.6.9.tar.gz"
+ pypi = "cmake_format/cmake_format-0.6.9.tar.gz"
version('0.6.10', sha256='82f0ef16236225cb43f45bfb6983ef7f6f72634727a1a6c26290402527bdd793')
version('0.6.9', sha256='b2f8bf2e9c6651126f2f2954b7803222b0faf6b8649eabc4d965ea97483a4d20')
diff --git a/var/spack/repos/builtin/packages/py-cmake/package.py b/var/spack/repos/builtin/packages/py-cmake/package.py
index fc2ab57044..b6cc67f997 100644
--- a/var/spack/repos/builtin/packages/py-cmake/package.py
+++ b/var/spack/repos/builtin/packages/py-cmake/package.py
@@ -12,7 +12,7 @@ class PyCmake(PythonPackage):
"""
homepage = "https://cmake.org/"
- url = "https://pypi.io/packages/source/c/cmake/cmake-3.18.0.tar.gz"
+ pypi = "cmake/cmake-3.18.0.tar.gz"
version('3.18.0', sha256='52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b')
diff --git a/var/spack/repos/builtin/packages/py-cmocean/package.py b/var/spack/repos/builtin/packages/py-cmocean/package.py
index 6094fb381f..965bbc1f52 100644
--- a/var/spack/repos/builtin/packages/py-cmocean/package.py
+++ b/var/spack/repos/builtin/packages/py-cmocean/package.py
@@ -8,7 +8,7 @@ class PyCmocean(PythonPackage):
"""Colormaps for Oceanography."""
homepage = "https://matplotlib.org/cmocean/"
- url = "https://pypi.io/packages/source/c/cmocean/cmocean-2.0.tar.gz"
+ pypi = "cmocean/cmocean-2.0.tar.gz"
version('2.0', sha256='13eea3c8994d8e303e32a2db0b3e686f6edfb41cb21e7b0e663c2b17eea9b03a')
diff --git a/var/spack/repos/builtin/packages/py-cnvkit/package.py b/var/spack/repos/builtin/packages/py-cnvkit/package.py
index 17d4508b15..127f04a253 100644
--- a/var/spack/repos/builtin/packages/py-cnvkit/package.py
+++ b/var/spack/repos/builtin/packages/py-cnvkit/package.py
@@ -10,7 +10,7 @@ class PyCnvkit(PythonPackage):
"""Copy number variation toolkit for high-throughput sequencing."""
homepage = "https://github.com/etal/cnvkit"
- url = "https://pypi.io/packages/source/C/CNVkit/CNVkit-0.9.6.tar.gz"
+ pypi = "CNVkit/CNVkit-0.9.6.tar.gz"
version('0.9.6', sha256='be889c98a5cf0a994330b8c31c0a65151fb0095fe4e75a1e04118da2516248c2')
diff --git a/var/spack/repos/builtin/packages/py-codecov/package.py b/var/spack/repos/builtin/packages/py-codecov/package.py
index 73510ac184..20bd20a2e2 100644
--- a/var/spack/repos/builtin/packages/py-codecov/package.py
+++ b/var/spack/repos/builtin/packages/py-codecov/package.py
@@ -10,7 +10,7 @@ class PyCodecov(PythonPackage):
"""Hosted coverage reports for Github, Bitbucket and Gitlab."""
homepage = "https://github.com/codecov/codecov-python"
- url = "https://pypi.io/packages/source/c/codecov/codecov-2.0.15.tar.gz"
+ pypi = "codecov/codecov-2.0.15.tar.gz"
version('2.0.15', sha256='8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788')
diff --git a/var/spack/repos/builtin/packages/py-cogent/package.py b/var/spack/repos/builtin/packages/py-cogent/package.py
index ded6423661..e827e3dac7 100644
--- a/var/spack/repos/builtin/packages/py-cogent/package.py
+++ b/var/spack/repos/builtin/packages/py-cogent/package.py
@@ -10,7 +10,7 @@ class PyCogent(PythonPackage):
"""A toolkit for statistical analysis of biological sequences."""
homepage = "http://pycogent.org"
- url = "https://pypi.io/packages/source/c/cogent/cogent-1.9.tar.gz"
+ pypi = "cogent/cogent-1.9.tar.gz"
version('1.9', sha256='57d8c58e0273ffe4f2b907874f9b49dadfd0600f5507b7666369f4e44d56ce14')
version('1.5.3', url="https://pypi.io/packages/source/c/cogent/cogent-1.5.3.tgz",
diff --git a/var/spack/repos/builtin/packages/py-colorama/package.py b/var/spack/repos/builtin/packages/py-colorama/package.py
index be101dc938..415012cb4c 100644
--- a/var/spack/repos/builtin/packages/py-colorama/package.py
+++ b/var/spack/repos/builtin/packages/py-colorama/package.py
@@ -10,7 +10,7 @@ class PyColorama(PythonPackage):
"""Cross-platform colored terminal text."""
homepage = "https://github.com/tartley/colorama"
- url = "https://pypi.io/packages/source/c/colorama/colorama-0.3.7.tar.gz"
+ pypi = "colorama/colorama-0.3.7.tar.gz"
version('0.4.1', sha256='05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d')
version('0.3.7', sha256='e043c8d32527607223652021ff648fbb394d5e19cba9f1a698670b338c9d782b')
diff --git a/var/spack/repos/builtin/packages/py-coloredlogs/package.py b/var/spack/repos/builtin/packages/py-coloredlogs/package.py
index bc4b8f1434..6388c14ac2 100644
--- a/var/spack/repos/builtin/packages/py-coloredlogs/package.py
+++ b/var/spack/repos/builtin/packages/py-coloredlogs/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyColoredlogs(PythonPackage):
"""Colored terminal output for Python's logging module"""
- homepage = "https://pypi.org/project/coloredlogs/"
- url = "https://pypi.io/packages/source/c/coloredlogs/coloredlogs-10.0.tar.gz"
+ pypi = "coloredlogs/coloredlogs-10.0.tar.gz"
version('14.0', sha256='a1fab193d2053aa6c0a97608c4342d031f1f93a3d1218432c59322441d31a505')
version('10.0', sha256='b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e377c36')
diff --git a/var/spack/repos/builtin/packages/py-colorful/package.py b/var/spack/repos/builtin/packages/py-colorful/package.py
index 377b9e1c46..bcfd3a08b4 100644
--- a/var/spack/repos/builtin/packages/py-colorful/package.py
+++ b/var/spack/repos/builtin/packages/py-colorful/package.py
@@ -8,7 +8,7 @@ class PyColorful(PythonPackage):
"""Terminal string styling done right, in Python."""
homepage = "https://github.com/timofurrer/colorful"
- url = "https://pypi.io/packages/source/c/colorful/colorful-0.5.4.tar.gz"
+ pypi = "colorful/colorful-0.5.4.tar.gz"
version('0.5.4', sha256='86848ad4e2eda60cd2519d8698945d22f6f6551e23e95f3f14dfbb60997807ea')
diff --git a/var/spack/repos/builtin/packages/py-colorlog/package.py b/var/spack/repos/builtin/packages/py-colorlog/package.py
index 05268384f2..717ffb975f 100644
--- a/var/spack/repos/builtin/packages/py-colorlog/package.py
+++ b/var/spack/repos/builtin/packages/py-colorlog/package.py
@@ -10,7 +10,7 @@ class PyColorlog(PythonPackage):
"""A colored formatter for the python logging module"""
homepage = "https://github.com/borntyping/python-colorlog"
- url = "https://pypi.io/packages/source/c/colorlog/colorlog-4.0.2.tar.gz"
+ pypi = "colorlog/colorlog-4.0.2.tar.gz"
version('4.0.2', sha256='3cf31b25cbc8f86ec01fef582ef3b840950dea414084ed19ab922c8b493f9b42')
version('3.1.4', sha256='418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d')
diff --git a/var/spack/repos/builtin/packages/py-colormath/package.py b/var/spack/repos/builtin/packages/py-colormath/package.py
index b190cdd418..6ebac95f9d 100644
--- a/var/spack/repos/builtin/packages/py-colormath/package.py
+++ b/var/spack/repos/builtin/packages/py-colormath/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyColormath(PythonPackage):
"""Color math and conversion library."""
- homepage = "https://pypi.python.org/pypi/colormath/2.1.1"
- url = "https://pypi.io/packages/source/c/colormath/colormath-2.1.1.tar.gz"
+ pypi = "colormath/colormath-2.1.1.tar.gz"
version('3.0.0', sha256='3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217')
version('2.1.1', sha256='003a2b2d9c1f43aa7d90addf1863fb2d822463c839b1166ae3092950792f9707')
diff --git a/var/spack/repos/builtin/packages/py-colorpy/package.py b/var/spack/repos/builtin/packages/py-colorpy/package.py
index 909ad673ef..f4d5bff49c 100644
--- a/var/spack/repos/builtin/packages/py-colorpy/package.py
+++ b/var/spack/repos/builtin/packages/py-colorpy/package.py
@@ -15,7 +15,7 @@ class PyColorpy(PythonPackage):
"""
homepage = "http://markkness.net/colorpy/ColorPy.html"
- url = "https://pypi.io/packages/source/c/colorpy/colorpy-0.1.1.tar.gz"
+ pypi = "colorpy/colorpy-0.1.1.tar.gz"
version('0.1.1', sha256='e400a7e879adc83c6098dde13cdd093723f3936778c245b1caf88f5f1411170d')
diff --git a/var/spack/repos/builtin/packages/py-colorspacious/package.py b/var/spack/repos/builtin/packages/py-colorspacious/package.py
index 9efa00007f..93bced1acf 100644
--- a/var/spack/repos/builtin/packages/py-colorspacious/package.py
+++ b/var/spack/repos/builtin/packages/py-colorspacious/package.py
@@ -12,7 +12,7 @@ class PyColorspacious(PythonPackage):
"""
homepage = "https://github.com/njsmith/colorspacious"
- url = "https://pypi.io/packages/source/c/colorspacious/colorspacious-1.1.2.tar.gz"
+ pypi = "colorspacious/colorspacious-1.1.2.tar.gz"
version('1.1.2', sha256='5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618')
diff --git a/var/spack/repos/builtin/packages/py-commonmark/package.py b/var/spack/repos/builtin/packages/py-commonmark/package.py
index 20d2b605a4..072a645a39 100644
--- a/var/spack/repos/builtin/packages/py-commonmark/package.py
+++ b/var/spack/repos/builtin/packages/py-commonmark/package.py
@@ -12,7 +12,7 @@ class PyCommonmark(PythonPackage):
modules."""
homepage = "https://github.com/readthedocs/commonmark.py"
- url = "https://pypi.io/packages/source/c/commonmark/commonmark-0.9.0.tar.gz"
+ pypi = "commonmark/commonmark-0.9.0.tar.gz"
version('0.9.0', sha256='867fc5db078ede373ab811e16b6789e9d033b15ccd7296f370ca52d1ee792ce0')
diff --git a/var/spack/repos/builtin/packages/py-configobj/package.py b/var/spack/repos/builtin/packages/py-configobj/package.py
index 350695780d..d87822f03e 100644
--- a/var/spack/repos/builtin/packages/py-configobj/package.py
+++ b/var/spack/repos/builtin/packages/py-configobj/package.py
@@ -11,7 +11,7 @@ class PyConfigobj(PythonPackage):
"""
homepage = "https://github.com/DiffSK/configobj"
- url = "https://pypi.io/packages/source/c/configobj/configobj-5.0.6.tar.gz"
+ pypi = "configobj/configobj-5.0.6.tar.gz"
version('5.0.6', sha256='a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902')
version('4.7.2', sha256='515ff923462592e8321df8b48c47e3428f8d406ee22b8de77bef969d1af11171')
diff --git a/var/spack/repos/builtin/packages/py-configparser/package.py b/var/spack/repos/builtin/packages/py-configparser/package.py
index 7a4109552c..08481fac0e 100644
--- a/var/spack/repos/builtin/packages/py-configparser/package.py
+++ b/var/spack/repos/builtin/packages/py-configparser/package.py
@@ -11,7 +11,7 @@ class PyConfigparser(PythonPackage):
Python 2.6-3.5."""
homepage = "https://docs.python.org/3/library/configparser.html"
- url = "https://pypi.io/packages/source/c/configparser/configparser-3.5.0.tar.gz"
+ pypi = "configparser/configparser-3.5.0.tar.gz"
version('3.5.1', sha256='f41e19cb29bebfccb1a78627b3f328ec198cc8f39510c7c55e7dfc0ab58c8c62')
version('3.5.0', sha256='5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a')
diff --git a/var/spack/repos/builtin/packages/py-contextily/package.py b/var/spack/repos/builtin/packages/py-contextily/package.py
index 78159c7483..312f07bd8b 100644
--- a/var/spack/repos/builtin/packages/py-contextily/package.py
+++ b/var/spack/repos/builtin/packages/py-contextily/package.py
@@ -10,7 +10,7 @@ class PyContextily(PythonPackage):
"""Context geo-tiles in Python."""
homepage = "https://github.com/darribas/contextily"
- url = "https://pypi.io/packages/source/c/contextily/contextily-1.0.1.tar.gz"
+ pypi = "contextily/contextily-1.0.1.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-contextvars/package.py b/var/spack/repos/builtin/packages/py-contextvars/package.py
index a0c1a87499..f8d7489bf1 100644
--- a/var/spack/repos/builtin/packages/py-contextvars/package.py
+++ b/var/spack/repos/builtin/packages/py-contextvars/package.py
@@ -9,7 +9,7 @@ class PyContextvars(PythonPackage):
(see PEP 567) for Python 3.6."""
homepage = "https://github.com/MagicStack/contextvars"
- url = "https://pypi.io/packages/source/c/contextvars/contextvars-2.4.tar.gz"
+ pypi = "contextvars/contextvars-2.4.tar.gz"
version('2.4', sha256='f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e')
diff --git a/var/spack/repos/builtin/packages/py-convertdate/package.py b/var/spack/repos/builtin/packages/py-convertdate/package.py
index b75b839ad0..83669cb927 100644
--- a/var/spack/repos/builtin/packages/py-convertdate/package.py
+++ b/var/spack/repos/builtin/packages/py-convertdate/package.py
@@ -12,7 +12,7 @@ class PyConvertdate(PythonPackage):
Indian Civil, Islamic, ISO, Julian, Mayan and Persian."""
homepage = "https://github.com/fitnr/convertdate/"
- url = "https://pypi.io/packages/source/c/convertdate/convertdate-2.2.0.tar.gz"
+ pypi = "convertdate/convertdate-2.2.0.tar.gz"
version('2.2.0', sha256='9d2b0cd8d5382d2458d4cfa59665abba398a9e9bfd3a01c6f61b7b47768d28bf')
diff --git a/var/spack/repos/builtin/packages/py-counter/package.py b/var/spack/repos/builtin/packages/py-counter/package.py
index 7f0e7ffe91..f8bff00abf 100644
--- a/var/spack/repos/builtin/packages/py-counter/package.py
+++ b/var/spack/repos/builtin/packages/py-counter/package.py
@@ -11,7 +11,7 @@ class PyCounter(PythonPackage):
bags or multisets in other languages."""
homepage = "https://github.com/KelSolaar/Counter"
- url = "https://pypi.io/packages/source/C/Counter/Counter-1.0.0.tar.gz"
+ pypi = "Counter/Counter-1.0.0.tar.gz"
version('1.0.0', sha256='9e008590e360936a66c98e1a01e7a9a0ecf6af19cc588107121f5fb4613bb60c')
diff --git a/var/spack/repos/builtin/packages/py-cov-core/package.py b/var/spack/repos/builtin/packages/py-cov-core/package.py
index 8ecc781755..31695bd865 100644
--- a/var/spack/repos/builtin/packages/py-cov-core/package.py
+++ b/var/spack/repos/builtin/packages/py-cov-core/package.py
@@ -10,7 +10,7 @@ class PyCovCore(PythonPackage):
"""plugin core for use by pytest-cov, nose-cov and nose2-cov"""
homepage = "https://github.com/schlamar/cov-core"
- url = "https://pypi.io/packages/source/c/cov-core/cov-core-1.15.0.tar.gz"
+ pypi = "cov-core/cov-core-1.15.0.tar.gz"
version('1.15.0', sha256='4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c')
diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py
index 9ec93625d3..7b9f433933 100644
--- a/var/spack/repos/builtin/packages/py-coverage/package.py
+++ b/var/spack/repos/builtin/packages/py-coverage/package.py
@@ -10,7 +10,7 @@ class PyCoverage(PythonPackage):
""" Testing coverage checker for python """
homepage = "http://nedbatchelder.com/code/coverage/"
- url = "https://pypi.io/packages/source/c/coverage/coverage-4.5.4.tar.gz"
+ pypi = "coverage/coverage-4.5.4.tar.gz"
version('5.3', sha256='280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0')
version('4.5.4', sha256='e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c')
diff --git a/var/spack/repos/builtin/packages/py-cppheaderparser/package.py b/var/spack/repos/builtin/packages/py-cppheaderparser/package.py
index 23e4c1a700..d55fe0a7ec 100644
--- a/var/spack/repos/builtin/packages/py-cppheaderparser/package.py
+++ b/var/spack/repos/builtin/packages/py-cppheaderparser/package.py
@@ -10,8 +10,7 @@ class PyCppheaderparser(PythonPackage):
"""Parse C++ header files and generate a data structure
representing the class"""
- homepage = "https://pypi.org/project/CppHeaderParser"
- url = "https://pypi.io/packages/source/C/CppHeaderParser/CppHeaderParser-2.7.4.tar.gz"
+ pypi = "CppHeaderParser/CppHeaderParser-2.7.4.tar.gz"
version('2.7.4', sha256='382b30416d95b0a5e8502b214810dcac2a56432917e2651447d3abe253e3cc42')
diff --git a/var/spack/repos/builtin/packages/py-crcmod/package.py b/var/spack/repos/builtin/packages/py-crcmod/package.py
index 4ca6189b9e..c6231a80f0 100644
--- a/var/spack/repos/builtin/packages/py-crcmod/package.py
+++ b/var/spack/repos/builtin/packages/py-crcmod/package.py
@@ -11,7 +11,7 @@ class PyCrcmod(PythonPackage):
compute the Cyclic Redundancy Check (CRC)"""
homepage = "http://crcmod.sourceforge.net/"
- url = "https://pypi.io/packages/source/c/crcmod/crcmod-1.7.tar.gz"
+ pypi = "crcmod/crcmod-1.7.tar.gz"
version('1.7', sha256='dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e')
version('1.6', sha256='56d27d035ea029c6ed96779ca042c0136d39d106e3c30baa6422738c7d86aaa5')
diff --git a/var/spack/repos/builtin/packages/py-crispresso/package.py b/var/spack/repos/builtin/packages/py-crispresso/package.py
index fb46dca86a..8c8ba7ab67 100644
--- a/var/spack/repos/builtin/packages/py-crispresso/package.py
+++ b/var/spack/repos/builtin/packages/py-crispresso/package.py
@@ -11,7 +11,7 @@ class PyCrispresso(PythonPackage):
outcomes from deep sequencing data."""
homepage = "https://github.com/lucapinello/CRISPResso"
- url = "https://pypi.io/packages/source/C/CRISPResso/CRISPResso-1.0.8.tar.gz"
+ pypi = "CRISPResso/CRISPResso-1.0.8.tar.gz"
version('1.0.8', sha256='b04ac8781ff8ed56d018c357e741f146b72ad7e0d23c9e5bc1e1bcd1a873ebc3')
diff --git a/var/spack/repos/builtin/packages/py-cryptography/package.py b/var/spack/repos/builtin/packages/py-cryptography/package.py
index ee433a9d87..35c9bfa9a9 100644
--- a/var/spack/repos/builtin/packages/py-cryptography/package.py
+++ b/var/spack/repos/builtin/packages/py-cryptography/package.py
@@ -12,7 +12,7 @@ class PyCryptography(PythonPackage):
and primitives to Python developers"""
homepage = "https://github.com/pyca/cryptography"
- url = "https://pypi.io/packages/source/c/cryptography/cryptography-1.8.1.tar.gz"
+ pypi = "cryptography/cryptography-1.8.1.tar.gz"
version('2.7', sha256='e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6')
version('2.3.1', sha256='8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6')
diff --git a/var/spack/repos/builtin/packages/py-csvkit/package.py b/var/spack/repos/builtin/packages/py-csvkit/package.py
index 217a5174f7..bc57a224d5 100644
--- a/var/spack/repos/builtin/packages/py-csvkit/package.py
+++ b/var/spack/repos/builtin/packages/py-csvkit/package.py
@@ -11,7 +11,7 @@ class PyCsvkit(PythonPackage):
formats"""
homepage = 'http://csvkit.rtfd.org/'
- url = "https://pypi.io/packages/source/c/csvkit/csvkit-0.9.1.tar.gz"
+ pypi = "csvkit/csvkit-0.9.1.tar.gz"
version('1.0.4', sha256='1353a383531bee191820edfb88418c13dfe1cdfa9dd3dc46f431c05cd2a260a0')
version('0.9.1', sha256='92f8b8647becb5cb1dccb3af92a13a4e85702d42ba465ce8447881fb38c9f93a')
diff --git a/var/spack/repos/builtin/packages/py-cupy/package.py b/var/spack/repos/builtin/packages/py-cupy/package.py
index 3ed5b9f557..aa7ef679cb 100644
--- a/var/spack/repos/builtin/packages/py-cupy/package.py
+++ b/var/spack/repos/builtin/packages/py-cupy/package.py
@@ -14,7 +14,7 @@ class PyCupy(PythonPackage):
full use of the GPU architecture."""
homepage = "https://cupy.dev/"
- url = "https://pypi.io/packages/source/c/cupy/cupy-8.0.0.tar.gz"
+ pypi = "cupy/cupy-8.0.0.tar.gz"
version('8.0.0', sha256='d1dcba5070dfa754445d010cdc952ff6b646d5f9bdcd7a63e8246e2472c3ddb8')
diff --git a/var/spack/repos/builtin/packages/py-current/package.py b/var/spack/repos/builtin/packages/py-current/package.py
index 3604d3ca14..8c894a66c0 100644
--- a/var/spack/repos/builtin/packages/py-current/package.py
+++ b/var/spack/repos/builtin/packages/py-current/package.py
@@ -10,7 +10,7 @@ class PyCurrent(PythonPackage):
"""Current module relative paths and imports"""
homepage = "http://github.com/xflr6/current"
- url = "https://pypi.io/packages/source/c/current/current-0.3.1.zip"
+ pypi = "current/current-0.3.1.zip"
version('0.3.1', sha256='207613dc19a6cc8e1a756f26e416733c8f82a70e4ae81103d22f483aae6492a8')
diff --git a/var/spack/repos/builtin/packages/py-cutadapt/package.py b/var/spack/repos/builtin/packages/py-cutadapt/package.py
index 056d112aa8..e3f48bbc5f 100644
--- a/var/spack/repos/builtin/packages/py-cutadapt/package.py
+++ b/var/spack/repos/builtin/packages/py-cutadapt/package.py
@@ -12,7 +12,7 @@ class PyCutadapt(PythonPackage):
reads."""
homepage = "https://cutadapt.readthedocs.io"
- url = "https://pypi.io/packages/source/c/cutadapt/cutadapt-1.13.tar.gz"
+ pypi = "cutadapt/cutadapt-1.13.tar.gz"
git = "https://github.com/marcelm/cutadapt.git"
version('2.10', sha256='936b88374b5b393a954852a0fe317a85b798dd4faf5ec52cf3ef4f3c062c242a')
diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py
index 930a40385f..f27dddbaca 100644
--- a/var/spack/repos/builtin/packages/py-cvxopt/package.py
+++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py
@@ -11,7 +11,7 @@ class PyCvxopt(PythonPackage):
Python programming language."""
homepage = "http://cvxopt.org/"
- url = "https://pypi.io/packages/source/c/cvxopt/cvxopt-1.1.9.tar.gz"
+ pypi = "cvxopt/cvxopt-1.1.9.tar.gz"
version('1.2.5', sha256='94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72')
version('1.1.9', sha256='8f157e7397158812cabd340b68546f1baa55a486ed0aad8bc26877593dc2983d')
diff --git a/var/spack/repos/builtin/packages/py-cvxpy/package.py b/var/spack/repos/builtin/packages/py-cvxpy/package.py
index 0b0abad4cf..96166712e3 100644
--- a/var/spack/repos/builtin/packages/py-cvxpy/package.py
+++ b/var/spack/repos/builtin/packages/py-cvxpy/package.py
@@ -11,7 +11,7 @@ class PyCvxpy(PythonPackage):
"""Convex optimization, for everyone."""
homepage = "https://www.cvxpy.org/index.html"
- url = "https://www.pypi.io/packages/source/c/cvxpy/cvxpy-1.0.25.tar.gz"
+ pypi = "cvxpy/cvxpy-1.0.25.tar.gz"
version('1.0.25', sha256='8535529ddb807067b0d59661dce1d9a6ddb2a218398a38ea7772328ad8a6ea13')
diff --git a/var/spack/repos/builtin/packages/py-cymem/package.py b/var/spack/repos/builtin/packages/py-cymem/package.py
index fa076b8836..5addc1c7b2 100644
--- a/var/spack/repos/builtin/packages/py-cymem/package.py
+++ b/var/spack/repos/builtin/packages/py-cymem/package.py
@@ -8,7 +8,7 @@ class PyCymem(PythonPackage):
"""Manage calls to calloc/free through Cython."""
homepage = "https://github.com/explosion/cymem"
- url = "https://pypi.io/packages/source/c/cymem/cymem-2.0.3.tar.gz"
+ pypi = "cymem/cymem-2.0.3.tar.gz"
version('2.0.3', sha256='5083b2ab5fe13ced094a82e0df465e2dbbd9b1c013288888035e24fd6eb4ed01')
diff --git a/var/spack/repos/builtin/packages/py-cyordereddict/package.py b/var/spack/repos/builtin/packages/py-cyordereddict/package.py
index 19640edae8..5e299741c7 100644
--- a/var/spack/repos/builtin/packages/py-cyordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-cyordereddict/package.py
@@ -11,5 +11,5 @@ class PyCyordereddict(PythonPackage):
A drop-in replacement that is 2-6x faster."""
homepage = "https://github.com/shoyer/cyordereddict"
- url = "https://pypi.io/packages/source/c/cyordereddict/cyordereddict-1.0.0.tar.gz"
+ pypi = "cyordereddict/cyordereddict-1.0.0.tar.gz"
version('1.0.0', sha256='d9b2c31796999770801a9a49403b8cb49510ecb64e5d1e9d4763ed44f2d5a76e')
diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py
index c37cf1f54a..a2095afa6f 100644
--- a/var/spack/repos/builtin/packages/py-cython/package.py
+++ b/var/spack/repos/builtin/packages/py-cython/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyCython(PythonPackage):
"""The Cython compiler for writing C extensions for the Python language."""
- homepage = "https://pypi.python.org/pypi/cython"
- url = "https://pypi.io/packages/source/c/cython/Cython-0.29.21.tar.gz"
+ pypi = "cython/Cython-0.29.21.tar.gz"
version('0.29.21', sha256='e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad')
version('0.29.16', sha256='232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05')
diff --git a/var/spack/repos/builtin/packages/py-cyvcf2/package.py b/var/spack/repos/builtin/packages/py-cyvcf2/package.py
index 153d00fe29..f0f507992a 100644
--- a/var/spack/repos/builtin/packages/py-cyvcf2/package.py
+++ b/var/spack/repos/builtin/packages/py-cyvcf2/package.py
@@ -10,7 +10,7 @@ class PyCyvcf2(PythonPackage):
"""fast vcf parsing with cython + htslib"""
homepage = "https://github.com/brentp/cyvcf2"
- url = "https://pypi.io/packages/source/c/cyvcf2/cyvcf2-0.11.7.tar.gz"
+ pypi = "cyvcf2/cyvcf2-0.11.7.tar.gz"
version('0.11.7', sha256='a4b6229b89a0a1043684c65cbdd702c366a8800dc3591fb44c4b5a08640cbeec')
diff --git a/var/spack/repos/builtin/packages/py-dadi/package.py b/var/spack/repos/builtin/packages/py-dadi/package.py
index 2189ff4e4e..228a560b99 100644
--- a/var/spack/repos/builtin/packages/py-dadi/package.py
+++ b/var/spack/repos/builtin/packages/py-dadi/package.py
@@ -12,7 +12,7 @@ class PyDadi(PythonPackage):
homepage = "https://bitbucket.org/gutenkunstlab/dadi/src/master/"
git = "https://bitbucket.org/gutenkunstlab/dadi.git"
- url = "https://files.pythonhosted.org/packages/ef/2d/b8636392a28b5d7fe2665a15ab9899651ed7e2af7264c8685e648371aa5c/dadi-2.1.0.tar.gz"
+ pypi = "dadi/dadi-2.1.0.tar.gz"
maintainers = ['dorton21']
diff --git a/var/spack/repos/builtin/packages/py-dask/package.py b/var/spack/repos/builtin/packages/py-dask/package.py
index 96744de758..00ccec1a1e 100644
--- a/var/spack/repos/builtin/packages/py-dask/package.py
+++ b/var/spack/repos/builtin/packages/py-dask/package.py
@@ -10,7 +10,7 @@ class PyDask(PythonPackage):
"""Dask is a flexible parallel computing library for analytics."""
homepage = "https://github.com/dask/dask/"
- url = "https://pypi.io/packages/source/d/dask/dask-1.1.0.tar.gz"
+ pypi = "dask/dask-1.1.0.tar.gz"
maintainers = ['skosukhin']
diff --git a/var/spack/repos/builtin/packages/py-dataclasses/package.py b/var/spack/repos/builtin/packages/py-dataclasses/package.py
index c79947953d..e62f53039f 100644
--- a/var/spack/repos/builtin/packages/py-dataclasses/package.py
+++ b/var/spack/repos/builtin/packages/py-dataclasses/package.py
@@ -10,7 +10,7 @@ class PyDataclasses(PythonPackage):
"""A backport of the dataclasses module for Python 3.6"""
homepage = "https://github.com/ericvsmith/dataclasses"
- url = "https://pypi.io/packages/source/d/dataclasses/dataclasses-0.7.tar.gz"
+ pypi = "dataclasses/dataclasses-0.7.tar.gz"
version('0.7', sha256='494a6dcae3b8bcf80848eea2ef64c0cc5cd307ffc263e17cdf42f3e5420808e6')
diff --git a/var/spack/repos/builtin/packages/py-dateparser/package.py b/var/spack/repos/builtin/packages/py-dateparser/package.py
index cc0ac18a8a..bd266c2fbd 100644
--- a/var/spack/repos/builtin/packages/py-dateparser/package.py
+++ b/var/spack/repos/builtin/packages/py-dateparser/package.py
@@ -10,7 +10,7 @@ class PyDateparser(PythonPackage):
"""dateparser -- python parser for human readable dates"""
homepage = "https://github.com/scrapinghub/dateparser"
- url = "https://pypi.io/packages/source/d/dateparser/dateparser-0.7.2.tar.gz"
+ pypi = "dateparser/dateparser-0.7.2.tar.gz"
version('0.7.2', sha256='e1eac8ef28de69a554d5fcdb60b172d526d61924b1a40afbbb08df459a36006b')
diff --git a/var/spack/repos/builtin/packages/py-dbf/package.py b/var/spack/repos/builtin/packages/py-dbf/package.py
index d5d2f3b5e7..6caee56105 100644
--- a/var/spack/repos/builtin/packages/py-dbf/package.py
+++ b/var/spack/repos/builtin/packages/py-dbf/package.py
@@ -10,8 +10,7 @@ class PyDbf(PythonPackage):
"""Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro
.dbf files (including memos)"""
- homepage = 'https://pypi.python.org/pypi/dbf'
- url = "https://pypi.io/packages/source/d/dbf/dbf-0.96.005.tar.gz"
+ pypi = "dbf/dbf-0.96.005.tar.gz"
version('0.96.005', sha256='d6e03f1dca40488c37cf38be9cb28b694c46cec747a064dcb0591987de58ed02')
version('0.94.003', sha256='c95b688d2f28944004368799cc6e2999d78af930a69bb2643ae098c721294444')
diff --git a/var/spack/repos/builtin/packages/py-dbfread/package.py b/var/spack/repos/builtin/packages/py-dbfread/package.py
index 338382d127..e5ba587155 100644
--- a/var/spack/repos/builtin/packages/py-dbfread/package.py
+++ b/var/spack/repos/builtin/packages/py-dbfread/package.py
@@ -13,7 +13,7 @@ class PyDbfread(PythonPackage):
batch jobs and one-off scripts."""
homepage = "https://dbfread.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/d/dbfread/dbfread-2.0.7.tar.gz"
+ pypi = "dbfread/dbfread-2.0.7.tar.gz"
version('2.0.7', sha256='07c8a9af06ffad3f6f03e8fe91ad7d2733e31a26d2b72c4dd4cfbae07ee3b73d')
diff --git a/var/spack/repos/builtin/packages/py-deap/package.py b/var/spack/repos/builtin/packages/py-deap/package.py
index 9940120413..17ed858b26 100644
--- a/var/spack/repos/builtin/packages/py-deap/package.py
+++ b/var/spack/repos/builtin/packages/py-deap/package.py
@@ -10,7 +10,7 @@ class PyDeap(PythonPackage):
"""Distributed Evolutionary Algorithms in Python."""
homepage = "http://deap.readthedocs.org/"
- url = "https://pypi.io/packages/source/d/deap/deap-1.3.1.tar.gz"
+ pypi = "deap/deap-1.3.1.tar.gz"
version('1.3.1', sha256='11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f')
diff --git a/var/spack/repos/builtin/packages/py-decorator/package.py b/var/spack/repos/builtin/packages/py-decorator/package.py
index d174fc8a1f..7fc5a23cae 100644
--- a/var/spack/repos/builtin/packages/py-decorator/package.py
+++ b/var/spack/repos/builtin/packages/py-decorator/package.py
@@ -12,7 +12,7 @@ class PyDecorator(PythonPackage):
various non-trivial examples."""
homepage = "https://github.com/micheles/decorator"
- url = "https://pypi.io/packages/source/d/decorator/decorator-4.4.2.tar.gz"
+ pypi = "decorator/decorator-4.4.2.tar.gz"
version('4.4.2', sha256='e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7')
version('4.4.0', sha256='86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de')
diff --git a/var/spack/repos/builtin/packages/py-deeptools/package.py b/var/spack/repos/builtin/packages/py-deeptools/package.py
index 8ce9e1519e..a43d4b10d8 100644
--- a/var/spack/repos/builtin/packages/py-deeptools/package.py
+++ b/var/spack/repos/builtin/packages/py-deeptools/package.py
@@ -10,8 +10,8 @@ class PyDeeptools(PythonPackage):
"""deepTools addresses the challenge of handling the large amounts of data
that are now routinely generated from DNA sequencing centers."""
- homepage = "https://pypi.io/packages/source/d/deepTools"
# The test suite and associated test data is missing in the pypi tarball.
+ homepage = "https://pypi.python.org/pypi/deepTools/"
url = "https://github.com/deeptools/deepTools/archive/3.3.0.tar.gz"
version('3.3.0', sha256='a7aaf79fe939ca307fe6ec5e156750389fdfa4324bf0dd6bf5f53d5fda109358')
diff --git a/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py b/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py
index 09e5a32a58..130a04774e 100644
--- a/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py
+++ b/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py
@@ -10,8 +10,7 @@ class PyDeeptoolsintervals(PythonPackage):
"""A python module creating/accessing GTF-based interval trees with
associated meta-data."""
- homepage = 'https://pypi.org/project/deeptoolsintervals/'
- url = 'https://pypi.io/packages/source/d/deeptoolsintervals/deeptoolsintervals-0.1.9.tar.gz'
+ pypi = 'deeptoolsintervals/deeptoolsintervals-0.1.9.tar.gz'
version('0.1.9', sha256='7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6')
diff --git a/var/spack/repos/builtin/packages/py-defusedxml/package.py b/var/spack/repos/builtin/packages/py-defusedxml/package.py
index 0b8261f6e5..9a2a33a4d2 100644
--- a/var/spack/repos/builtin/packages/py-defusedxml/package.py
+++ b/var/spack/repos/builtin/packages/py-defusedxml/package.py
@@ -10,7 +10,7 @@ class PyDefusedxml(PythonPackage):
"""defusing XML bombs and other exploits"""
homepage = "https://github.com/tiran/defusedxml"
- url = "https://pypi.io/packages/source/d/defusedxml/defusedxml-0.5.0.tar.gz"
+ pypi = "defusedxml/defusedxml-0.5.0.tar.gz"
version('0.6.0', sha256='f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5')
version('0.5.0', sha256='24d7f2f94f7f3cb6061acb215685e5125fbcdc40a857eff9de22518820b0a4f4')
diff --git a/var/spack/repos/builtin/packages/py-dendropy/package.py b/var/spack/repos/builtin/packages/py-dendropy/package.py
index aa58be0d77..de62625364 100644
--- a/var/spack/repos/builtin/packages/py-dendropy/package.py
+++ b/var/spack/repos/builtin/packages/py-dendropy/package.py
@@ -14,7 +14,7 @@ class PyDendropy(PythonPackage):
NeXML, Phylip, FASTA, etc."""
homepage = "https://www.dendropy.org"
- url = "https://pypi.io/packages/source/d/dendropy/DendroPy-4.3.0.tar.gz"
+ pypi = "dendropy/DendroPy-4.3.0.tar.gz"
version('4.3.0', sha256='bd5b35ce1a1c9253209b7b5f3939ac22beaa70e787f8129149b4f7ffe865d510')
version('3.12.0', sha256='38a0f36f2f7aae43ec5599408b0d0a4c80996b749589f025940d955a70fc82d4')
diff --git a/var/spack/repos/builtin/packages/py-deprecation/package.py b/var/spack/repos/builtin/packages/py-deprecation/package.py
index 2128e78233..d753d8c72d 100644
--- a/var/spack/repos/builtin/packages/py-deprecation/package.py
+++ b/var/spack/repos/builtin/packages/py-deprecation/package.py
@@ -11,7 +11,7 @@ class PyDeprecation(PythonPackage):
fail_if_not_removed decorator for your tests. """
homepage = "http://deprecation.readthedocs.io/"
- url = "https://pypi.io/packages/source/d/deprecation/deprecation-2.0.7.tar.gz"
+ pypi = "deprecation/deprecation-2.0.7.tar.gz"
version('2.0.7', sha256='c0392f676a6146f0238db5744d73e786a43510d54033f80994ef2f4c9df192ed')
diff --git a/var/spack/repos/builtin/packages/py-descartes/package.py b/var/spack/repos/builtin/packages/py-descartes/package.py
index fb834d07c1..3ffb9747c8 100644
--- a/var/spack/repos/builtin/packages/py-descartes/package.py
+++ b/var/spack/repos/builtin/packages/py-descartes/package.py
@@ -10,8 +10,7 @@ class PyDescartes(PythonPackage):
"""Use Shapely or GeoJSON-like geometric objects as matplotlib paths
and patches"""
- homepage = "https://pypi.org/project/descartes/"
- url = "https://pypi.io/packages/source/d/descartes/descartes-1.1.0.tar.gz"
+ pypi = "descartes/descartes-1.1.0.tar.gz"
version('1.1.0', sha256='135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b')
diff --git a/var/spack/repos/builtin/packages/py-dill/package.py b/var/spack/repos/builtin/packages/py-dill/package.py
index 0afa8d329c..9c1f18cf19 100644
--- a/var/spack/repos/builtin/packages/py-dill/package.py
+++ b/var/spack/repos/builtin/packages/py-dill/package.py
@@ -10,7 +10,7 @@ class PyDill(PythonPackage):
"""Serialize all of python """
homepage = "https://github.com/uqfoundation/dill"
- url = "https://pypi.io/packages/source/d/dill/dill-0.2.7.tar.gz"
+ pypi = "dill/dill-0.2.7.tar.gz"
version('0.3.1', sha256='d3ddddf2806a7bc9858b20c02dc174396795545e9d62f243b34481fd26eb3e2c')
version('0.2.9', sha256='f6d6046f9f9195206063dd0415dff185ad593d6ee8b0e67f12597c0f4df4986f')
diff --git a/var/spack/repos/builtin/packages/py-discover/package.py b/var/spack/repos/builtin/packages/py-discover/package.py
index 8512294724..319d1be54d 100644
--- a/var/spack/repos/builtin/packages/py-discover/package.py
+++ b/var/spack/repos/builtin/packages/py-discover/package.py
@@ -9,7 +9,6 @@ from spack import *
class PyDiscover(PythonPackage):
"""Test discovery for unittest."""
- homepage = "https://pypi.python.org/pypi/discover"
- url = "https://pypi.io/packages/source/d/discover/discover-0.4.0.tar.gz"
+ pypi = "discover/discover-0.4.0.tar.gz"
version('0.4.0', sha256='05c3fa9199e57d4b16fb653e02d65713adc1f89ef55324fb0c252b1cf9070d79')
diff --git a/var/spack/repos/builtin/packages/py-diskcache/package.py b/var/spack/repos/builtin/packages/py-diskcache/package.py
index 8e8f76326b..3dd0441b7f 100644
--- a/var/spack/repos/builtin/packages/py-diskcache/package.py
+++ b/var/spack/repos/builtin/packages/py-diskcache/package.py
@@ -8,7 +8,7 @@ class PyDiskcache(PythonPackage):
"""Disk Cache -- Disk and file backed persistent cache."""
homepage = "http://www.grantjenks.com/docs/diskcache/"
- url = "https://pypi.io/packages/source/d/diskcache/diskcache-4.1.0.tar.gz"
+ pypi = "diskcache/diskcache-4.1.0.tar.gz"
version('4.1.0', sha256='bcee5a59f9c264e2809e58d01be6569a3bbb1e36a1e0fb83f7ef9b2075f95ce0')
diff --git a/var/spack/repos/builtin/packages/py-distributed/package.py b/var/spack/repos/builtin/packages/py-distributed/package.py
index be4fb3b1c6..12c5df4c1f 100644
--- a/var/spack/repos/builtin/packages/py-distributed/package.py
+++ b/var/spack/repos/builtin/packages/py-distributed/package.py
@@ -10,7 +10,7 @@ class PyDistributed(PythonPackage):
"""Distributed scheduler for Dask"""
homepage = "https://distributed.dask.org/"
- url = "https://pypi.io/packages/source/d/distributed/distributed-2.10.0.tar.gz"
+ pypi = "distributed/distributed-2.10.0.tar.gz"
version('2.10.0', sha256='2f8cca741a20f776929cbad3545f2df64cf60207fb21f774ef24aad6f6589e8b')
version('1.28.1', sha256='3bd83f8b7eb5938af5f2be91ccff8984630713f36f8f66097e531a63f141c48a')
diff --git a/var/spack/repos/builtin/packages/py-distro/package.py b/var/spack/repos/builtin/packages/py-distro/package.py
index 4bda8e4085..a8d8190b76 100644
--- a/var/spack/repos/builtin/packages/py-distro/package.py
+++ b/var/spack/repos/builtin/packages/py-distro/package.py
@@ -8,7 +8,7 @@ class PyDistro(PythonPackage):
"""Distro - an OS platform information API."""
homepage = "https://github.com/nir0s/distro"
- url = "https://pypi.io/packages/source/d/distro/distro-1.5.0.tar.gz"
+ pypi = "distro/distro-1.5.0.tar.gz"
version('1.5.0', sha256='0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92')
diff --git a/var/spack/repos/builtin/packages/py-dnaio/package.py b/var/spack/repos/builtin/packages/py-dnaio/package.py
index c8e3250a15..abbde2216b 100644
--- a/var/spack/repos/builtin/packages/py-dnaio/package.py
+++ b/var/spack/repos/builtin/packages/py-dnaio/package.py
@@ -10,7 +10,7 @@ class PyDnaio(PythonPackage):
"""Read and write FASTQ and FASTA"""
homepage = "https://github.com/marcelm/dnaio"
- url = "https://pypi.io/packages/source/d/dnaio/dnaio-0.3.tar.gz"
+ pypi = "dnaio/dnaio-0.3.tar.gz"
git = "https://github.com/marcelm/dnaio.git"
version('0.4.2', sha256='fa55a45bfd5d9272409b714158fb3a7de5dceac1034a0af84502c7f503ee84f8')
diff --git a/var/spack/repos/builtin/packages/py-docker/package.py b/var/spack/repos/builtin/packages/py-docker/package.py
index 148da74a95..c1054b7fdc 100644
--- a/var/spack/repos/builtin/packages/py-docker/package.py
+++ b/var/spack/repos/builtin/packages/py-docker/package.py
@@ -8,7 +8,7 @@ class PyDocker(PythonPackage):
"""A Python library for the Docker Engine API."""
homepage = "https://github.com/docker/docker-py"
- url = "https://pypi.io/packages/source/d/docker/docker-4.2.1.tar.gz"
+ pypi = "docker/docker-4.2.1.tar.gz"
version('4.2.1', sha256='380a20d38fbfaa872e96ee4d0d23ad9beb0f9ed57ff1c30653cbeb0c9c0964f2')
diff --git a/var/spack/repos/builtin/packages/py-docopt/package.py b/var/spack/repos/builtin/packages/py-docopt/package.py
index 02bea78e7a..6c1afb7c0d 100644
--- a/var/spack/repos/builtin/packages/py-docopt/package.py
+++ b/var/spack/repos/builtin/packages/py-docopt/package.py
@@ -10,7 +10,7 @@ class PyDocopt(PythonPackage):
"""Command-line interface description language."""
homepage = "http://docopt.org/"
- url = "https://pypi.io/packages/source/d/docopt/docopt-0.6.2.tar.gz"
+ pypi = "docopt/docopt-0.6.2.tar.gz"
version('0.6.2', sha256='49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491')
diff --git a/var/spack/repos/builtin/packages/py-docutils-stubs/package.py b/var/spack/repos/builtin/packages/py-docutils-stubs/package.py
index 02c7f99d47..a00bd5183f 100644
--- a/var/spack/repos/builtin/packages/py-docutils-stubs/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils-stubs/package.py
@@ -10,7 +10,7 @@ class PyDocutilsStubs(PythonPackage):
"""PEP 561 based Type information for docutils."""
homepage = "https://github.com/tk0miya/docutils-stubs"
- url = "https://pypi.io/packages/source/d/docutils-stubs/docutils-stubs-0.0.21.tar.gz"
+ pypi = "docutils-stubs/docutils-stubs-0.0.21.tar.gz"
version('0.0.21', sha256='e0d3d2588a0c0b47bf66b917bf4ff2c100cf4cf77bbe2f518d97b8f4d63e735c')
diff --git a/var/spack/repos/builtin/packages/py-docutils/package.py b/var/spack/repos/builtin/packages/py-docutils/package.py
index 4ff1d4252e..a2be28fd92 100644
--- a/var/spack/repos/builtin/packages/py-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils/package.py
@@ -15,7 +15,7 @@ class PyDocutils(PythonPackage):
markup language."""
homepage = "http://docutils.sourceforge.net/"
- url = "https://pypi.io/packages/source/d/docutils/docutils-0.15.2.tar.gz"
+ pypi = "docutils/docutils-0.15.2.tar.gz"
version('0.15.2', sha256='a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99')
version('0.14', sha256='51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274')
diff --git a/var/spack/repos/builtin/packages/py-dominate/package.py b/var/spack/repos/builtin/packages/py-dominate/package.py
index 2d3f438ea5..596ff700ed 100644
--- a/var/spack/repos/builtin/packages/py-dominate/package.py
+++ b/var/spack/repos/builtin/packages/py-dominate/package.py
@@ -15,7 +15,7 @@ class PyDominate(PythonPackage):
powerful features of Python."""
homepage = "https://github.com/Knio/dominate"
- url = "https://pypi.io/packages/source/d/dominate/dominate-2.6.0.tar.gz"
+ pypi = "dominate/dominate-2.6.0.tar.gz"
# license = "LGPL-3.0"
version('2.6.0', sha256='76ec2cde23700a6fc4fee098168b9dee43b99c2f1dd0ca6a711f683e8eb7e1e4')
diff --git a/var/spack/repos/builtin/packages/py-doxypy/package.py b/var/spack/repos/builtin/packages/py-doxypy/package.py
index 103ac0488f..ff5d5541dc 100644
--- a/var/spack/repos/builtin/packages/py-doxypy/package.py
+++ b/var/spack/repos/builtin/packages/py-doxypy/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyDoxypy(PythonPackage):
"""doxypy is an input filter for Doxygen."""
- homepage = "https://pypi.python.org/pypi/doxypy"
- url = "https://pypi.io/packages/source/d/doxypy/doxypy-0.3.tar.gz"
+ pypi = "doxypy/doxypy-0.3.tar.gz"
version('0.3', sha256='55d621b0edebd9e2a58a266c0a1d086fc9892de8e07e04dfbb93880a7ae91f00')
diff --git a/var/spack/repos/builtin/packages/py-doxypypy/package.py b/var/spack/repos/builtin/packages/py-doxypypy/package.py
index e28970409e..ca170cb20e 100644
--- a/var/spack/repos/builtin/packages/py-doxypypy/package.py
+++ b/var/spack/repos/builtin/packages/py-doxypypy/package.py
@@ -13,7 +13,7 @@ class PyDoxypypy(PythonPackage):
"""
homepage = "https://github.com/Feneric/doxypypy"
- url = "https://pypi.io/packages/source/d/doxypypy/doxypypy-0.8.8.6.tar.gz"
+ pypi = "doxypypy/doxypypy-0.8.8.6.tar.gz"
version('0.8.8.6', sha256='627571455c537eb91d6998d95b32efc3c53562b2dbadafcb17e49593e0dae01b')
diff --git a/var/spack/repos/builtin/packages/py-drmaa/package.py b/var/spack/repos/builtin/packages/py-drmaa/package.py
index c7df76190d..9761bf19cc 100644
--- a/var/spack/repos/builtin/packages/py-drmaa/package.py
+++ b/var/spack/repos/builtin/packages/py-drmaa/package.py
@@ -10,7 +10,7 @@ class PyDrmaa(PythonPackage):
"""Python wrapper around the C DRMAA library."""
homepage = "https://github.com/pygridtools/drmaa-python"
- url = "https://pypi.io/packages/source/d/drmaa/drmaa-0.7.9.tar.gz"
+ pypi = "drmaa/drmaa-0.7.9.tar.gz"
version('0.7.9', sha256='12540cd98afc40d5c0b2f38d7b0e46468d1c45192a2f401f41fc2eda9c9f5542')
diff --git a/var/spack/repos/builtin/packages/py-dryscrape/package.py b/var/spack/repos/builtin/packages/py-dryscrape/package.py
index 8aa002bf7b..cdea490618 100644
--- a/var/spack/repos/builtin/packages/py-dryscrape/package.py
+++ b/var/spack/repos/builtin/packages/py-dryscrape/package.py
@@ -11,7 +11,7 @@ class PyDryscrape(PythonPackage):
for Python"""
homepage = "https://github.com/niklasb/dryscrape"
- url = "https://pypi.io/packages/source/d/dryscrape/dryscrape-1.0.tar.gz"
+ pypi = "dryscrape/dryscrape-1.0.tar.gz"
git = "https://github.com/niklasb/dryscrape.git"
version('develop', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-earthengine-api/package.py b/var/spack/repos/builtin/packages/py-earthengine-api/package.py
index 6125d918b6..7aca92cd7b 100644
--- a/var/spack/repos/builtin/packages/py-earthengine-api/package.py
+++ b/var/spack/repos/builtin/packages/py-earthengine-api/package.py
@@ -11,7 +11,7 @@ class PyEarthengineApi(PythonPackage):
using the Python programming language."""
homepage = "https://github.com/google/earthengine-api"
- url = "https://pypi.io/packages/source/e/earthengine-api/earthengine-api-0.1.186.tar.gz"
+ pypi = "earthengine-api/earthengine-api-0.1.186.tar.gz"
version('0.1.186', sha256='ced86dc969f5db13eea91944e29c39146bacbb7026a46f4b4ac349b365979627')
diff --git a/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py b/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py
index dcc295c63e..78dedcf0eb 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py
@@ -12,7 +12,7 @@ class PyEasybuildEasyblocks(PythonPackage):
"""
homepage = 'https://easybuilders.github.io/easybuild'
- url = 'https://pypi.io/packages/source/e/easybuild-easyblocks/easybuild-easyblocks-4.0.0.tar.gz'
+ pypi = 'easybuild-easyblocks/easybuild-easyblocks-4.0.0.tar.gz'
maintainers = ['boegel']
version('4.0.0', sha256='a0fdef6c33c786e323bde1b28bab942fd8e535c26842877d705e692e85b31b07')
diff --git a/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py b/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py
index 83c55889b5..aae8a3900f 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py
@@ -12,7 +12,7 @@ class PyEasybuildEasyconfigs(PythonPackage):
"""
homepage = 'https://easybuilders.github.io/easybuild'
- url = 'https://pypi.io/packages/source/e/easybuild-easyconfigs/easybuild-easyconfigs-4.0.0.tar.gz'
+ pypi = 'easybuild-easyconfigs/easybuild-easyconfigs-4.0.0.tar.gz'
maintainers = ['boegel']
version('4.0.0', sha256='90d4e8f8abb11e7ae2265745bbd1241cd69d02570e9b4530175c4b2e2aba754e')
diff --git a/var/spack/repos/builtin/packages/py-easybuild-framework/package.py b/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
index e283fd825b..87471fc8a1 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
@@ -12,7 +12,7 @@ class PyEasybuildFramework(PythonPackage):
"""
homepage = 'https://easybuilders.github.io/easybuild'
- url = 'https://pypi.io/packages/source/e/easybuild-framework/easybuild-framework-4.0.0.tar.gz'
+ pypi = 'easybuild-framework/easybuild-framework-4.0.0.tar.gz'
maintainers = ['boegel']
version('4.0.0', sha256='f5c40345cc8b9b5750f53263ade6c9c3a8cd3dfab488d58f76ac61a8ca7c5a77')
diff --git a/var/spack/repos/builtin/packages/py-ecdsa/package.py b/var/spack/repos/builtin/packages/py-ecdsa/package.py
index 0ba06e98fb..451888084e 100644
--- a/var/spack/repos/builtin/packages/py-ecdsa/package.py
+++ b/var/spack/repos/builtin/packages/py-ecdsa/package.py
@@ -10,7 +10,7 @@ class PyEcdsa(PythonPackage):
"""ECDSA cryptographic signature library (pure python)"""
homepage = "https://github.com/warner/python-ecdsa"
- url = "https://pypi.io/packages/source/e/ecdsa/ecdsa-0.15.tar.gz"
+ pypi = "ecdsa/ecdsa-0.15.tar.gz"
version('0.15', sha256='8f12ac317f8a1318efa75757ef0a651abe12e51fc1af8838fb91079445227277')
version('0.13.2', sha256='5c034ffa23413ac923541ceb3ac14ec15a0d2530690413bff58c12b80e56d884')
diff --git a/var/spack/repos/builtin/packages/py-ecos/package.py b/var/spack/repos/builtin/packages/py-ecos/package.py
index 97ce50b68c..2eebf414bc 100644
--- a/var/spack/repos/builtin/packages/py-ecos/package.py
+++ b/var/spack/repos/builtin/packages/py-ecos/package.py
@@ -11,7 +11,7 @@ class PyEcos(PythonPackage):
"""This is the Python package for ECOS: Embedded Cone Solver."""
homepage = "https://github.com/embotech/ecos"
- url = "https://www.pypi.io/packages/source/e/ecos/ecos-2.0.7.post1.tar.gz"
+ pypi = "ecos/ecos-2.0.7.post1.tar.gz"
version('2.0.7.post1', sha256='83e90f42b3f32e2a93f255c3cfad2da78dbd859119e93844c45d2fca20bdc758')
diff --git a/var/spack/repos/builtin/packages/py-editdistance/package.py b/var/spack/repos/builtin/packages/py-editdistance/package.py
index ccedeef495..794a347def 100644
--- a/var/spack/repos/builtin/packages/py-editdistance/package.py
+++ b/var/spack/repos/builtin/packages/py-editdistance/package.py
@@ -10,7 +10,7 @@ class PyEditdistance(PythonPackage):
"""Fast implementation of the edit distance (Levenshtein distance)."""
homepage = "https://github.com/aflc/editdistance"
- url = "https://pypi.io/packages/source/e/editdistance/editdistance-0.4.tar.gz"
+ pypi = "editdistance/editdistance-0.4.tar.gz"
version('0.4', sha256='c765db6f8817d38922e4a50be4b9ab338b2c539377b6fcf0bca11dea72eeb8c1')
diff --git a/var/spack/repos/builtin/packages/py-elasticsearch/package.py b/var/spack/repos/builtin/packages/py-elasticsearch/package.py
index b87dd19f43..86fc34d688 100644
--- a/var/spack/repos/builtin/packages/py-elasticsearch/package.py
+++ b/var/spack/repos/builtin/packages/py-elasticsearch/package.py
@@ -10,7 +10,7 @@ class PyElasticsearch(PythonPackage):
"""Python client for Elasticsearch"""
homepage = "https://github.com/elastic/elasticsearch-py"
- url = "https://pypi.io/packages/source/e/elasticsearch/elasticsearch-5.2.0.tar.gz"
+ pypi = "elasticsearch/elasticsearch-5.2.0.tar.gz"
version('7.5.1', sha256='2a0ca516378ae9b87ac840e7bb529ec508f3010360dd9feed605dff2a898aff5')
version('6.4.0', sha256='fb5ab15ee283f104b5a7a5695c7e879cb2927e4eb5aed9c530811590b41259ad')
diff --git a/var/spack/repos/builtin/packages/py-elephant/package.py b/var/spack/repos/builtin/packages/py-elephant/package.py
index 4ce26bc339..385aa39e9b 100644
--- a/var/spack/repos/builtin/packages/py-elephant/package.py
+++ b/var/spack/repos/builtin/packages/py-elephant/package.py
@@ -11,7 +11,7 @@ class PyElephant(PythonPackage):
"""
homepage = "http://neuralensemble.org/elephant"
- url = "https://pypi.io/packages/source/e/elephant/elephant-0.3.0.tar.gz"
+ pypi = "elephant/elephant-0.3.0.tar.gz"
version('0.4.1', sha256='86b21a44cbacdc09a6ba6f51738dcd5b42ecd553d73acb29f71a0be7c82eac81')
version('0.3.0', sha256='747251ccfb5820bdead6391411b5faf205b4ddf3ababaefe865f50b16540cfef')
diff --git a/var/spack/repos/builtin/packages/py-emcee/package.py b/var/spack/repos/builtin/packages/py-emcee/package.py
index 093a662b2b..a7ee94b082 100644
--- a/var/spack/repos/builtin/packages/py-emcee/package.py
+++ b/var/spack/repos/builtin/packages/py-emcee/package.py
@@ -11,7 +11,7 @@ class PyEmcee(PythonPackage):
Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler."""
homepage = "http://dan.iel.fm/emcee/current/"
- url = "https://pypi.io/packages/source/e/emcee/emcee-2.2.1.tar.gz"
+ pypi = "emcee/emcee-2.2.1.tar.gz"
version('2.2.1', sha256='b83551e342b37311897906b3b8acf32979f4c5542e0a25786ada862d26241172')
version('2.1.0', sha256='5ce1039a3d78fb9e7d53fcd768517585c5998193743bfcfaac407927d375ca63')
diff --git a/var/spack/repos/builtin/packages/py-empy/package.py b/var/spack/repos/builtin/packages/py-empy/package.py
index 54b1bd759a..8a9ad31dad 100644
--- a/var/spack/repos/builtin/packages/py-empy/package.py
+++ b/var/spack/repos/builtin/packages/py-empy/package.py
@@ -11,6 +11,6 @@ class PyEmpy(PythonPackage):
"""A powerful and robust templating system for Python"""
homepage = "http://www.alcyone.com/software/empy"
- url = "https://pypi.io/packages/source/e/empy/empy-3.3.4.tar.gz"
+ pypi = "empy/empy-3.3.4.tar.gz"
version('3.3.4', sha256='73ac49785b601479df4ea18a7c79bc1304a8a7c34c02b9472cf1206ae88f01b3')
diff --git a/var/spack/repos/builtin/packages/py-entrypoints/package.py b/var/spack/repos/builtin/packages/py-entrypoints/package.py
index 4a05b19a64..54fe851279 100644
--- a/var/spack/repos/builtin/packages/py-entrypoints/package.py
+++ b/var/spack/repos/builtin/packages/py-entrypoints/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyEntrypoints(PythonPackage):
"""Discover and load entry points from installed packages."""
- homepage = "https://pypi.python.org/pypi/entrypoints"
- url = "https://pypi.io/packages/source/e/entrypoints/entrypoints-0.2.3.tar.gz"
+ pypi = "entrypoints/entrypoints-0.2.3.tar.gz"
version('0.3', sha256='c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451')
version('0.2.3', sha256='d2d587dde06f99545fb13a383d2cd336a8ff1f359c5839ce3a64c917d10c029f')
diff --git a/var/spack/repos/builtin/packages/py-enum34/package.py b/var/spack/repos/builtin/packages/py-enum34/package.py
index 7bcdf462b3..5b9e597aa1 100644
--- a/var/spack/repos/builtin/packages/py-enum34/package.py
+++ b/var/spack/repos/builtin/packages/py-enum34/package.py
@@ -10,7 +10,7 @@ class PyEnum34(PythonPackage):
"""Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4."""
homepage = "https://bitbucket.org/stoneleaf/enum34/src"
- url = "https://pypi.io/packages/source/e/enum34/enum34-1.1.6.tar.gz"
+ pypi = "enum34/enum34-1.1.6.tar.gz"
version('1.1.6', sha256='8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1')
diff --git a/var/spack/repos/builtin/packages/py-envisage/package.py b/var/spack/repos/builtin/packages/py-envisage/package.py
index 06783c8fcb..e7f643ee59 100644
--- a/var/spack/repos/builtin/packages/py-envisage/package.py
+++ b/var/spack/repos/builtin/packages/py-envisage/package.py
@@ -14,7 +14,7 @@ class PyEnvisage(PythonPackage):
to the Eclipse and Netbeans frameworks for Java applications."""
homepage = "https://docs.enthought.com/envisage"
- url = "https://pypi.io/packages/source/e/envisage/envisage-4.9.2.tar.gz"
+ pypi = "envisage/envisage-4.9.2.tar.gz"
version('4.9.2', sha256='ed9580ac6ea17b333f1cce5b94656aed584798d56d8bd364f996a06fe1ac32eb')
diff --git a/var/spack/repos/builtin/packages/py-epydoc/package.py b/var/spack/repos/builtin/packages/py-epydoc/package.py
index cfd14fa4eb..c080d255d9 100644
--- a/var/spack/repos/builtin/packages/py-epydoc/package.py
+++ b/var/spack/repos/builtin/packages/py-epydoc/package.py
@@ -9,7 +9,6 @@ from spack import *
class PyEpydoc(PythonPackage):
"""Epydoc is a tool for generating API documentation documentation for
Python modules, based on their docstrings."""
- homepage = "https://pypi.python.org/pypi/epydoc"
- url = "https://pypi.io/packages/source/e/epydoc/epydoc-3.0.1.tar.gz"
+ pypi = "epydoc/epydoc-3.0.1.tar.gz"
version('3.0.1', sha256='c81469b853fab06ec42b39e35dd7cccbe9938dfddef324683d89c1e5176e48f2')
diff --git a/var/spack/repos/builtin/packages/py-et-xmlfile/package.py b/var/spack/repos/builtin/packages/py-et-xmlfile/package.py
index 49c508e32b..a63af93305 100644
--- a/var/spack/repos/builtin/packages/py-et-xmlfile/package.py
+++ b/var/spack/repos/builtin/packages/py-et-xmlfile/package.py
@@ -10,7 +10,7 @@ class PyEtXmlfile(PythonPackage):
"""An implementation of lxml.xmlfile for the standard library."""
homepage = "https://bitbucket.org/openpyxl/et_xmlfile"
- url = "https://pypi.io/packages/source/e/et_xmlfile/et_xmlfile-1.0.1.tar.gz"
+ pypi = "et_xmlfile/et_xmlfile-1.0.1.tar.gz"
version('1.0.1', sha256='614d9722d572f6246302c4491846d2c393c199cfa4edc9af593437691683335b')
diff --git a/var/spack/repos/builtin/packages/py-execnet/package.py b/var/spack/repos/builtin/packages/py-execnet/package.py
index 96c26f7717..7436f5c06e 100644
--- a/var/spack/repos/builtin/packages/py-execnet/package.py
+++ b/var/spack/repos/builtin/packages/py-execnet/package.py
@@ -12,7 +12,7 @@ class PyExecnet(PythonPackage):
across version, platform and network barriers."""
homepage = "http://codespeak.net/execnet"
- url = "https://pypi.io/packages/source/e/execnet/execnet-1.7.1.tar.gz"
+ pypi = "execnet/execnet-1.7.1.tar.gz"
version('1.7.1', sha256='cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50')
version('1.4.1', sha256='f66dd4a7519725a1b7e14ad9ae7d3df8e09b2da88062386e08e941cafc0ef3e6')
diff --git a/var/spack/repos/builtin/packages/py-exodus-bundler/package.py b/var/spack/repos/builtin/packages/py-exodus-bundler/package.py
index eddb3da88f..82b57e6103 100644
--- a/var/spack/repos/builtin/packages/py-exodus-bundler/package.py
+++ b/var/spack/repos/builtin/packages/py-exodus-bundler/package.py
@@ -11,7 +11,7 @@ class PyExodusBundler(PythonPackage):
ELF binaries from one system to another."""
homepage = "https://github.com/intoli/exodus"
- url = "https://pypi.io/packages/source/e/exodus-bundler/exodus-bundler-2.0.2.tar.gz"
+ pypi = "exodus-bundler/exodus-bundler-2.0.2.tar.gz"
version('2.0.2', sha256='4e896a2034b94cf7b4fb33d86a68e29a7d3b08e57541e444db34dddc6ac1ef68')
diff --git a/var/spack/repos/builtin/packages/py-extension-helpers/package.py b/var/spack/repos/builtin/packages/py-extension-helpers/package.py
index 698af27a49..2077e2e9f5 100644
--- a/var/spack/repos/builtin/packages/py-extension-helpers/package.py
+++ b/var/spack/repos/builtin/packages/py-extension-helpers/package.py
@@ -11,7 +11,7 @@ class PyExtensionHelpers(PythonPackage):
to be general and usable by any Python package."""
homepage = 'https://github.com/astropy/astropy-helpers'
- url = 'https://pypi.io/packages/source/e/extension-helpers/extension-helpers-0.1.tar.gz'
+ pypi = 'extension-helpers/extension-helpers-0.1.tar.gz'
version('0.1', sha256='ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882')
diff --git a/var/spack/repos/builtin/packages/py-extras/package.py b/var/spack/repos/builtin/packages/py-extras/package.py
index 5705b0dfe6..c4399d4078 100644
--- a/var/spack/repos/builtin/packages/py-extras/package.py
+++ b/var/spack/repos/builtin/packages/py-extras/package.py
@@ -11,7 +11,7 @@ class PyExtras(PythonPackage):
library."""
homepage = "https://github.com/testing-cabal/extras"
- url = "https://pypi.io/packages/source/e/extras/extras-1.0.0.tar.gz"
+ pypi = "extras/extras-1.0.0.tar.gz"
version('1.0.0', sha256='132e36de10b9c91d5d4cc620160a476e0468a88f16c9431817a6729611a81b4e')
diff --git a/var/spack/repos/builtin/packages/py-fabric/package.py b/var/spack/repos/builtin/packages/py-fabric/package.py
index b8ccb624bb..d016fa3e71 100644
--- a/var/spack/repos/builtin/packages/py-fabric/package.py
+++ b/var/spack/repos/builtin/packages/py-fabric/package.py
@@ -8,7 +8,7 @@ class PyFabric(PythonPackage):
"""High level SSH command execution."""
homepage = "http://fabfile.org/"
- url = "https://pypi.io/packages/source/f/fabric/fabric-2.5.0.tar.gz"
+ pypi = "fabric/fabric-2.5.0.tar.gz"
version('2.5.0', sha256='24842d7d51556adcabd885ac3cf5e1df73fc622a1708bf3667bf5927576cdfa6')
diff --git a/var/spack/repos/builtin/packages/py-fallocate/package.py b/var/spack/repos/builtin/packages/py-fallocate/package.py
index 0e0a442f2b..d4cbd8bded 100644
--- a/var/spack/repos/builtin/packages/py-fallocate/package.py
+++ b/var/spack/repos/builtin/packages/py-fallocate/package.py
@@ -11,6 +11,6 @@ class PyFallocate(PythonPackage):
"""
homepage = "https://github.com/trbs/fallocate"
- url = "https://pypi.io/packages/source/f/fallocate/fallocate-1.6.4.tar.gz"
+ pypi = "fallocate/fallocate-1.6.4.tar.gz"
version('1.6.4', sha256='85ebeb2786761fbe80d88c52590a610bd3425fc89e188c208a3f261a5bd6acb3')
diff --git a/var/spack/repos/builtin/packages/py-fastaindex/package.py b/var/spack/repos/builtin/packages/py-fastaindex/package.py
index 8b37fd3a4e..6a4cefa2a9 100644
--- a/var/spack/repos/builtin/packages/py-fastaindex/package.py
+++ b/var/spack/repos/builtin/packages/py-fastaindex/package.py
@@ -11,7 +11,7 @@ class PyFastaindex(PythonPackage):
with 4 columns storing counts for A, C, G & T for each sequence.."""
homepage = "https://github.com/lpryszcz/FastaIndex"
- url = "https://pypi.io/packages/source/F/FastaIndex/FastaIndex-0.11rc7.tar.gz"
+ pypi = "FastaIndex/FastaIndex-0.11rc7.tar.gz"
version('0.11rc7', sha256='c130a2146bb178ea4f9d228e0d360787046ab4cb0ab53b5b43711dd57e31aff7')
diff --git a/var/spack/repos/builtin/packages/py-fastcache/package.py b/var/spack/repos/builtin/packages/py-fastcache/package.py
index bd58a14702..944b4f7958 100644
--- a/var/spack/repos/builtin/packages/py-fastcache/package.py
+++ b/var/spack/repos/builtin/packages/py-fastcache/package.py
@@ -10,7 +10,7 @@ class PyFastcache(PythonPackage):
"""C implementation of Python 3 functools.lru_cache"""
homepage = "https://github.com/pbrady/fastcache"
- url = "https://pypi.io/packages/source/f/fastcache/fastcache-1.1.0.tar.gz"
+ pypi = "fastcache/fastcache-1.1.0.tar.gz"
version('1.1.0', sha256='6de1b16e70335b7bde266707eb401a3aaec220fb66c5d13b02abf0eab8be782b')
diff --git a/var/spack/repos/builtin/packages/py-fastcluster/package.py b/var/spack/repos/builtin/packages/py-fastcluster/package.py
index bc09681527..1cc43d276f 100644
--- a/var/spack/repos/builtin/packages/py-fastcluster/package.py
+++ b/var/spack/repos/builtin/packages/py-fastcluster/package.py
@@ -10,7 +10,7 @@ class PyFastcluster(PythonPackage):
"""Fast hierarchical clustering routines for R and Python."""
homepage = "http://danifold.net/"
- url = "https://pypi.io/packages/source/f/fastcluster/fastcluster-1.1.26.tar.gz"
+ pypi = "fastcluster/fastcluster-1.1.26.tar.gz"
version('1.1.26', sha256='a202f44a3b06f5cf9cdba3c67d6c523288922d6e6a1cdf737292f93759aa82f7')
diff --git a/var/spack/repos/builtin/packages/py-fastdtw/package.py b/var/spack/repos/builtin/packages/py-fastdtw/package.py
index dbe31960f5..921de0b59a 100644
--- a/var/spack/repos/builtin/packages/py-fastdtw/package.py
+++ b/var/spack/repos/builtin/packages/py-fastdtw/package.py
@@ -12,7 +12,7 @@ class PyFastdtw(PythonPackage):
complexity."""
homepage = "https://github.com/slaypni/fastdtw"
- url = "https://pypi.io/packages/source/f/fastdtw/fastdtw-0.3.4.tar.gz"
+ pypi = "fastdtw/fastdtw-0.3.4.tar.gz"
version('0.3.4', sha256='2350fa6ec36bcad186eaf81f46eff35181baf04e324f522de8aeb43d0243f64f')
diff --git a/var/spack/repos/builtin/packages/py-fasteners/package.py b/var/spack/repos/builtin/packages/py-fasteners/package.py
index 685b1dca0e..5cc6260324 100644
--- a/var/spack/repos/builtin/packages/py-fasteners/package.py
+++ b/var/spack/repos/builtin/packages/py-fasteners/package.py
@@ -10,7 +10,7 @@ class PyFasteners(PythonPackage):
"""A python package that provides useful locks."""
homepage = "https://github.com/harlowja/fasteners"
- url = "https://pypi.io/packages/source/f/fasteners/fasteners-0.14.1.tar.gz"
+ pypi = "fasteners/fasteners-0.14.1.tar.gz"
version('0.14.1', sha256='427c76773fe036ddfa41e57d89086ea03111bbac57c55fc55f3006d027107e18')
diff --git a/var/spack/repos/builtin/packages/py-filelock/package.py b/var/spack/repos/builtin/packages/py-filelock/package.py
index 27d9735598..1ffd5f113b 100644
--- a/var/spack/repos/builtin/packages/py-filelock/package.py
+++ b/var/spack/repos/builtin/packages/py-filelock/package.py
@@ -12,7 +12,7 @@ class PyFilelock(PythonPackage):
inter-process communication"""
homepage = "https://github.com/benediktschmitt/py-filelock"
- url = "https://pypi.io/packages/source/f/filelock/filelock-3.0.4.tar.gz"
+ pypi = "filelock/filelock-3.0.4.tar.gz"
version('3.0.12', sha256='18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59')
version('3.0.4', sha256='011327d4ed939693a5b28c0fdf2fd9bda1f68614c1d6d0643a89382ce9843a71')
diff --git a/var/spack/repos/builtin/packages/py-filemagic/package.py b/var/spack/repos/builtin/packages/py-filemagic/package.py
index d1a5ffd3c8..e6dc97ed65 100644
--- a/var/spack/repos/builtin/packages/py-filemagic/package.py
+++ b/var/spack/repos/builtin/packages/py-filemagic/package.py
@@ -10,7 +10,7 @@ class PyFilemagic(PythonPackage):
"""A Python API for libmagic, the library behind the Unix file command"""
homepage = "https://filemagic.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/f/filemagic/filemagic-1.6.tar.gz"
+ pypi = "filemagic/filemagic-1.6.tar.gz"
version('1.6', sha256='e684359ef40820fe406f0ebc5bf8a78f89717bdb7fed688af68082d991d6dbf3')
diff --git a/var/spack/repos/builtin/packages/py-fiona/package.py b/var/spack/repos/builtin/packages/py-fiona/package.py
index b259fb27bc..6e218ced06 100644
--- a/var/spack/repos/builtin/packages/py-fiona/package.py
+++ b/var/spack/repos/builtin/packages/py-fiona/package.py
@@ -10,7 +10,7 @@ class PyFiona(PythonPackage):
"""Fiona reads and writes spatial data files."""
homepage = "https://github.com/Toblerity/Fiona"
- url = "https://pypi.io/packages/source/F/Fiona/Fiona-1.8.18.tar.gz"
+ pypi = "Fiona/Fiona-1.8.18.tar.gz"
git = "https://github.com/Toblerity/Fiona.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-fiscalyear/package.py b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
index a0b95ff73f..7dd006d88e 100644
--- a/var/spack/repos/builtin/packages/py-fiscalyear/package.py
+++ b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
@@ -13,7 +13,7 @@ class PyFiscalyear(PythonPackage):
the fiscal year and fiscal quarter of a date or datetime object."""
homepage = "https://github.com/adamjstewart/fiscalyear"
- url = "https://pypi.io/packages/source/f/fiscalyear/fiscalyear-0.2.0.tar.gz"
+ pypi = "fiscalyear/fiscalyear-0.2.0.tar.gz"
git = "https://github.com/adamjstewart/fiscalyear.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-fisher/package.py b/var/spack/repos/builtin/packages/py-fisher/package.py
index 17318ee202..1563446a2b 100644
--- a/var/spack/repos/builtin/packages/py-fisher/package.py
+++ b/var/spack/repos/builtin/packages/py-fisher/package.py
@@ -12,7 +12,7 @@ class PyFisher(PythonPackage):
Simple, fast implementation of Fisher's exact test."""
homepage = "https://github.com/brentp/fishers_exact_test"
- url = "https://pypi.io/packages/source/f/fisher/fisher-0.1.9.tar.gz"
+ pypi = "fisher/fisher-0.1.9.tar.gz"
version('0.1.9', sha256='d378b3f7e488e2a679c6d0e5ea1bce17bc931c2bfe8ec8424ee47a74f251968d')
diff --git a/var/spack/repos/builtin/packages/py-fixtures/package.py b/var/spack/repos/builtin/packages/py-fixtures/package.py
index 2cc0362c4e..ab260d6c25 100644
--- a/var/spack/repos/builtin/packages/py-fixtures/package.py
+++ b/var/spack/repos/builtin/packages/py-fixtures/package.py
@@ -10,7 +10,7 @@ class PyFixtures(PythonPackage):
"""Fixtures, reusable state for writing clean tests and more."""
homepage = "https://launchpad.net/python-fixtures"
- url = "https://pypi.io/packages/source/f/fixtures/fixtures-3.0.0.tar.gz"
+ pypi = "fixtures/fixtures-3.0.0.tar.gz"
version('3.0.0', sha256='fcf0d60234f1544da717a9738325812de1f42c2fa085e2d9252d8fff5712b2ef')
diff --git a/var/spack/repos/builtin/packages/py-flake8-import-order/package.py b/var/spack/repos/builtin/packages/py-flake8-import-order/package.py
index a93236e60f..859a719461 100644
--- a/var/spack/repos/builtin/packages/py-flake8-import-order/package.py
+++ b/var/spack/repos/builtin/packages/py-flake8-import-order/package.py
@@ -11,7 +11,7 @@ class PyFlake8ImportOrder(PythonPackage):
"""
homepage = "https://github.com/PyCQA/flake8-import-order"
- url = "https://pypi.io/packages/source/f/flake8-import-order/flake8-import-order-0.18.1.tar.gz"
+ pypi = "flake8-import-order/flake8-import-order-0.18.1.tar.gz"
version('0.18.1', sha256='a28dc39545ea4606c1ac3c24e9d05c849c6e5444a50fb7e9cdd430fc94de6e92')
diff --git a/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py b/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py
index cc61a2e936..43ce7f7109 100644
--- a/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py
+++ b/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py
@@ -12,7 +12,7 @@ class PyFlake8Polyfill(PythonPackage):
simultaneously.
"""
homepage = "https://gitlab.com/pycqa/flake8-polyfill"
- url = "https://pypi.io/packages/source/f/flake8-polyfill/flake8-polyfill-1.0.2.tar.gz"
+ pypi = "flake8-polyfill/flake8-polyfill-1.0.2.tar.gz"
version('1.0.2', sha256='e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda')
diff --git a/var/spack/repos/builtin/packages/py-flask-compress/package.py b/var/spack/repos/builtin/packages/py-flask-compress/package.py
index c8a2f4ea06..a0b69229df 100644
--- a/var/spack/repos/builtin/packages/py-flask-compress/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-compress/package.py
@@ -11,7 +11,7 @@ class PyFlaskCompress(PythonPackage):
responses with gzip."""
homepage = "https://github.com/libwilliam/flask-compress"
- url = "https://pypi.io/packages/source/F/Flask-Compress/Flask-Compress-1.4.0.tar.gz"
+ pypi = "Flask-Compress/Flask-Compress-1.4.0.tar.gz"
version('1.4.0', sha256='468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3')
diff --git a/var/spack/repos/builtin/packages/py-flask-socketio/package.py b/var/spack/repos/builtin/packages/py-flask-socketio/package.py
index 5a31755694..1e1b10dd46 100644
--- a/var/spack/repos/builtin/packages/py-flask-socketio/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-socketio/package.py
@@ -15,7 +15,7 @@ class PyFlaskSocketio(PythonPackage):
"""
homepage = "https://flask-socketio.readthedocs.io"
- url = "https://pypi.io/packages/source/F/Flask-SocketIO/Flask-SocketIO-2.9.6.tar.gz"
+ pypi = "Flask-SocketIO/Flask-SocketIO-2.9.6.tar.gz"
version('2.9.6', sha256='f49edfd3a44458fbb9f7a04a57069ffc0c37f000495194f943a25d370436bb69')
diff --git a/var/spack/repos/builtin/packages/py-flask/package.py b/var/spack/repos/builtin/packages/py-flask/package.py
index 4be2b1e1e1..58efdd0f10 100644
--- a/var/spack/repos/builtin/packages/py-flask/package.py
+++ b/var/spack/repos/builtin/packages/py-flask/package.py
@@ -10,7 +10,7 @@ class PyFlask(PythonPackage):
"""A simple framework for building complex web applications."""
homepage = "https://palletsprojects.com/p/flask/"
- url = "https://pypi.io/packages/source/F/Flask/Flask-1.1.1.tar.gz"
+ pypi = "Flask/Flask-1.1.1.tar.gz"
version('1.1.2', sha256='4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060')
version('1.1.1', sha256='13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52')
diff --git a/var/spack/repos/builtin/packages/py-flexx/package.py b/var/spack/repos/builtin/packages/py-flexx/package.py
index 127c97f1ad..d5de9ec664 100644
--- a/var/spack/repos/builtin/packages/py-flexx/package.py
+++ b/var/spack/repos/builtin/packages/py-flexx/package.py
@@ -10,7 +10,7 @@ class PyFlexx(PythonPackage):
"""Write desktop and web apps in pure Python."""
homepage = "http://flexx.readthedocs.io"
- url = "https://pypi.io/packages/source/f/flexx/flexx-0.4.1.zip"
+ pypi = "flexx/flexx-0.4.1.zip"
version('0.4.1', sha256='54be868f01d943018d0907821f2562f6eb31c568b3932abfd8518f75c29b8be1')
diff --git a/var/spack/repos/builtin/packages/py-fortranformat/package.py b/var/spack/repos/builtin/packages/py-fortranformat/package.py
index d193494b6a..118930ec56 100644
--- a/var/spack/repos/builtin/packages/py-fortranformat/package.py
+++ b/var/spack/repos/builtin/packages/py-fortranformat/package.py
@@ -10,6 +10,6 @@ class PyFortranformat(PythonPackage):
"""Mimics Fortran textual IO in Python"""
homepage = "http://bitbucket.org/brendanarnold/py-fortranformat"
- url = "https://pypi.io/packages/source/f/fortranformat/fortranformat-0.2.5.tar.gz"
+ pypi = "fortranformat/fortranformat-0.2.5.tar.gz"
version('0.2.5', sha256='6b5fbc1f129c7a70543c3a81f334fb4d57f07df2834b22ce69f6d7e8539cd3f9')
diff --git a/var/spack/repos/builtin/packages/py-fprettify/package.py b/var/spack/repos/builtin/packages/py-fprettify/package.py
index 404c688b09..7562cd56ee 100644
--- a/var/spack/repos/builtin/packages/py-fprettify/package.py
+++ b/var/spack/repos/builtin/packages/py-fprettify/package.py
@@ -12,7 +12,7 @@ class PyFprettify(PythonPackage):
Python."""
homepage = "https://github.com/pseewald/fprettify"
- url = "https://pypi.io/packages/source/f/fprettify/fprettify-0.3.6.tar.gz"
+ pypi = "fprettify/fprettify-0.3.6.tar.gz"
version('0.3.6', sha256='5ee954763eba2bc54ee7444c1f592944f1c1933223bb0c07957d60d44f7f0b75')
diff --git a/var/spack/repos/builtin/packages/py-freezegun/package.py b/var/spack/repos/builtin/packages/py-freezegun/package.py
index 4a99441796..1503374c9f 100644
--- a/var/spack/repos/builtin/packages/py-freezegun/package.py
+++ b/var/spack/repos/builtin/packages/py-freezegun/package.py
@@ -11,7 +11,7 @@ class PyFreezegun(PythonPackage):
through time by mocking the datetime module."""
homepage = "https://github.com/spulec/freezegun"
- url = "https://pypi.io/packages/source/f/freezegun/freezegun-0.3.12.tar.gz"
+ pypi = "freezegun/freezegun-0.3.12.tar.gz"
version('0.3.12', sha256='2a4d9c8cd3c04a201e20c313caf8b6338f1cfa4cda43f46a94cc4a9fd13ea5e7')
diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py
index f0b58dcb77..e948abf741 100644
--- a/var/spack/repos/builtin/packages/py-fsspec/package.py
+++ b/var/spack/repos/builtin/packages/py-fsspec/package.py
@@ -10,7 +10,7 @@ class PyFsspec(PythonPackage):
"""A specification for pythonic filesystems."""
homepage = "https://github.com/intake/filesystem_spec"
- url = "https://pypi.io/packages/source/f/fsspec/fsspec-0.4.4.tar.gz"
+ pypi = "fsspec/fsspec-0.4.4.tar.gz"
version('0.7.3', sha256='1b540552c93b47e83c568e87507d6e02993e6d1b30bc7285f2336c81c5014103')
version('0.4.4', sha256='97697a46e8bf8be34461c2520d6fc4bfca0ed749b22bb2b7c21939fd450a7d63')
diff --git a/var/spack/repos/builtin/packages/py-funcsigs/package.py b/var/spack/repos/builtin/packages/py-funcsigs/package.py
index 77db9cd6ad..67b7e26991 100644
--- a/var/spack/repos/builtin/packages/py-funcsigs/package.py
+++ b/var/spack/repos/builtin/packages/py-funcsigs/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyFuncsigs(PythonPackage):
"""Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2."""
- homepage = "https://pypi.python.org/pypi/funcsigs"
- url = "https://pypi.io/packages/source/f/funcsigs/funcsigs-1.0.2.tar.gz"
+ pypi = "funcsigs/funcsigs-1.0.2.tar.gz"
version('1.0.2', sha256='a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50')
version('0.4', sha256='d83ce6df0b0ea6618700fe1db353526391a8a3ada1b7aba52fed7a61da772033')
diff --git a/var/spack/repos/builtin/packages/py-functools32/package.py b/var/spack/repos/builtin/packages/py-functools32/package.py
index bcec6385a8..6ed56bddbb 100644
--- a/var/spack/repos/builtin/packages/py-functools32/package.py
+++ b/var/spack/repos/builtin/packages/py-functools32/package.py
@@ -11,6 +11,6 @@ class PyFunctools32(PythonPackage):
PyPy."""
homepage = "https://github.com/MiCHiLU/python-functools32"
- url = "https://pypi.io/packages/source/f/functools32/functools32-3.2.3-2.tar.gz"
+ pypi = "functools32/functools32-3.2.3-2.tar.gz"
version('3.2.3-2', sha256='f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d')
diff --git a/var/spack/repos/builtin/packages/py-fusepy/package.py b/var/spack/repos/builtin/packages/py-fusepy/package.py
index c9df4ba5ba..34403dd4a3 100644
--- a/var/spack/repos/builtin/packages/py-fusepy/package.py
+++ b/var/spack/repos/builtin/packages/py-fusepy/package.py
@@ -11,7 +11,7 @@ class PyFusepy(PythonPackage):
MacFUSE. It's just one file and is implemented using ctypes."""
homepage = "https://github.com/fusepy/fusepy"
- url = "https://pypi.io/packages/source/f/fusepy/fusepy-3.0.1.tar.gz"
+ pypi = "fusepy/fusepy-3.0.1.tar.gz"
version('3.0.1', sha256='72ff783ec2f43de3ab394e3f7457605bf04c8cf288a2f4068b4cde141d4ee6bd')
version('2.0.4', sha256='10f5c7f5414241bffecdc333c4d3a725f1d6605cae6b4eaf86a838ff49cdaf6c')
diff --git a/var/spack/repos/builtin/packages/py-future/package.py b/var/spack/repos/builtin/packages/py-future/package.py
index d89490eaf5..f9f5bfe466 100644
--- a/var/spack/repos/builtin/packages/py-future/package.py
+++ b/var/spack/repos/builtin/packages/py-future/package.py
@@ -10,7 +10,7 @@ class PyFuture(PythonPackage):
"""Clean single-source support for Python 3 and 2"""
homepage = "https://python-future.org/"
- url = "https://pypi.io/packages/source/f/future/future-0.18.2.tar.gz"
+ pypi = "future/future-0.18.2.tar.gz"
version('0.18.2', sha256='b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d')
version('0.17.1', sha256='67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8')
diff --git a/var/spack/repos/builtin/packages/py-futures/package.py b/var/spack/repos/builtin/packages/py-futures/package.py
index 5d3c82aacd..789cc3b4b4 100644
--- a/var/spack/repos/builtin/packages/py-futures/package.py
+++ b/var/spack/repos/builtin/packages/py-futures/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyFutures(PythonPackage):
"""Backport of the concurrent.futures package from Python 3.2"""
- homepage = "https://pypi.python.org/pypi/futures"
- url = "https://pypi.io/packages/source/f/futures/futures-3.0.5.tar.gz"
+ pypi = "futures/futures-3.0.5.tar.gz"
version('3.2.0', sha256='9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265')
version('3.0.5', sha256='0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406f981df')
diff --git a/var/spack/repos/builtin/packages/py-gast/package.py b/var/spack/repos/builtin/packages/py-gast/package.py
index c69b9bc475..7ce6ffb9c6 100644
--- a/var/spack/repos/builtin/packages/py-gast/package.py
+++ b/var/spack/repos/builtin/packages/py-gast/package.py
@@ -10,7 +10,7 @@ class PyGast(PythonPackage):
"""Python AST that abstracts the underlying Python version"""
homepage = "https://github.com/serge-sans-paille/gast"
- url = "https://pypi.io/packages/source/g/gast/gast-0.3.2.tar.gz"
+ pypi = "gast/gast-0.3.2.tar.gz"
version('0.3.3', sha256='b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57')
version('0.3.2', sha256='5c7617f1f6c8b8b426819642b16b9016727ddaecd16af9a07753e537eba8a3a5')
diff --git a/var/spack/repos/builtin/packages/py-gcovr/package.py b/var/spack/repos/builtin/packages/py-gcovr/package.py
index f5110bf31b..2159b9c8e0 100644
--- a/var/spack/repos/builtin/packages/py-gcovr/package.py
+++ b/var/spack/repos/builtin/packages/py-gcovr/package.py
@@ -13,7 +13,7 @@ class PyGcovr(PythonPackage):
Python."""
homepage = "https://gcovr.com/"
- url = "https://pypi.io/packages/source/g/gcovr/gcovr-4.2.tar.gz"
+ pypi = "gcovr/gcovr-4.2.tar.gz"
version('4.2', sha256='5aae34dc81e51600cfecbbbce3c3a80ce3f7548bc0aa1faa4b74ecd18f6fca3f')
diff --git a/var/spack/repos/builtin/packages/py-gdbgui/package.py b/var/spack/repos/builtin/packages/py-gdbgui/package.py
index 551e0ef206..b9e9b29d9f 100644
--- a/var/spack/repos/builtin/packages/py-gdbgui/package.py
+++ b/var/spack/repos/builtin/packages/py-gdbgui/package.py
@@ -10,7 +10,7 @@ class PyGdbgui(PythonPackage):
"""gdbgui is a modern, free, browser-based frontend to gdb"""
homepage = "https://gdbgui.com"
- url = "https://pypi.io/packages/source/g/gdbgui/gdbgui-0.11.2.1.tar.gz"
+ pypi = "gdbgui/gdbgui-0.11.2.1.tar.gz"
version('0.13.2.0', sha256='80e347a08b8cc630ab9f68482a1ed92c844fbfde46dc21fd39f3e6ef14b72e54')
version('0.11.2.1', sha256='280945a37414c31a798f68f70c1bffbedd12dfb0ce77418357e7d42b667491c7')
diff --git a/var/spack/repos/builtin/packages/py-geeadd/package.py b/var/spack/repos/builtin/packages/py-geeadd/package.py
index 42510838eb..fbc220b2ed 100644
--- a/var/spack/repos/builtin/packages/py-geeadd/package.py
+++ b/var/spack/repos/builtin/packages/py-geeadd/package.py
@@ -10,7 +10,7 @@ class PyGeeadd(PythonPackage):
"""Google Earth Engine Batch Assets Manager with Addons."""
homepage = "https://github.com/samapriya/gee_asset_manager_addon"
- url = "https://pypi.io/packages/source/g/geeadd/geeadd-0.3.0.tar.gz"
+ pypi = "geeadd/geeadd-0.3.0.tar.gz"
version('0.3.0', sha256='591e6ff2847122598ed5b0452a892a76e332ce227d4ba75e4d03eca2c7a4beea')
diff --git a/var/spack/repos/builtin/packages/py-geeup/package.py b/var/spack/repos/builtin/packages/py-geeup/package.py
index 6ac2cc37d0..7743c56cb1 100644
--- a/var/spack/repos/builtin/packages/py-geeup/package.py
+++ b/var/spack/repos/builtin/packages/py-geeup/package.py
@@ -10,7 +10,7 @@ class PyGeeup(PythonPackage):
"""Simple Client for Earth Engine Uploads with Selenium Support."""
homepage = "https://github.com/samapriya/geeup"
- url = "https://pypi.io/packages/source/g/geeup/geeup-0.2.4.tar.gz"
+ pypi = "geeup/geeup-0.2.4.tar.gz"
version('0.2.4', sha256='20f62306ea900d7fa28a97cc92204716212dc030c50a6ac8214772a61a1a83fe')
diff --git a/var/spack/repos/builtin/packages/py-gensim/package.py b/var/spack/repos/builtin/packages/py-gensim/package.py
index fe3e4a192c..fbe81905a7 100644
--- a/var/spack/repos/builtin/packages/py-gensim/package.py
+++ b/var/spack/repos/builtin/packages/py-gensim/package.py
@@ -12,7 +12,7 @@ class PyGensim(PythonPackage):
language processing (NLP) and information retrieval (IR) community."""
homepage = "https://radimrehurek.com/gensim"
- url = "https://pypi.io/packages/source/g/gensim/gensim-3.8.1.tar.gz"
+ pypi = "gensim/gensim-3.8.1.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-geoalchemy2/package.py b/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
index 09080f7d57..5fa6c61bd1 100644
--- a/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
+++ b/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
@@ -10,7 +10,7 @@ class PyGeoalchemy2(PythonPackage):
"""Using SQLAlchemy with Spatial Databases"""
homepage = "https://geoalchemy-2.readthedocs.io/en/latest"
- url = "https://pypi.io/packages/source/G/GeoAlchemy2/GeoAlchemy2-0.6.3.tar.gz"
+ pypi = "GeoAlchemy2/GeoAlchemy2-0.6.3.tar.gz"
version('0.6.3', sha256='4dc4c6c2bda0fc82cccab4aaff185a6570e13a5351d85e29e12984a55d4138ee')
version('0.4.2', sha256='17fa10b0c01bd2ab036ea56975dfa850098aa394a5d6ee04d88b2aefc16751cb')
diff --git a/var/spack/repos/builtin/packages/py-geographiclib/package.py b/var/spack/repos/builtin/packages/py-geographiclib/package.py
index e6169fe70f..84c8ed2e75 100644
--- a/var/spack/repos/builtin/packages/py-geographiclib/package.py
+++ b/var/spack/repos/builtin/packages/py-geographiclib/package.py
@@ -10,7 +10,7 @@ class PyGeographiclib(PythonPackage):
"""The geodesic routines from GeographicLib."""
homepage = "https://geographiclib.sourceforge.io/1.50/python"
- url = "https://pypi.io/packages/source/g/geographiclib/geographiclib-1.50.tar.gz"
+ pypi = "geographiclib/geographiclib-1.50.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-geopandas/package.py b/var/spack/repos/builtin/packages/py-geopandas/package.py
index 61cadf46f9..da975612c2 100644
--- a/var/spack/repos/builtin/packages/py-geopandas/package.py
+++ b/var/spack/repos/builtin/packages/py-geopandas/package.py
@@ -14,7 +14,7 @@ class PyGeopandas(PythonPackage):
and descartes and matplotlib for plotting."""
homepage = "https://geopandas.org/"
- url = "https://pypi.io/packages/source/g/geopandas/geopandas-0.8.1.tar.gz"
+ pypi = "geopandas/geopandas-0.8.1.tar.gz"
git = "https://github.com/geopandas/geopandas.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-geoplot/package.py b/var/spack/repos/builtin/packages/py-geoplot/package.py
index 0d828b58e6..767d13692e 100644
--- a/var/spack/repos/builtin/packages/py-geoplot/package.py
+++ b/var/spack/repos/builtin/packages/py-geoplot/package.py
@@ -13,7 +13,7 @@ class PyGeoplot(PythonPackage):
like seaborn for geospatial."""
homepage = "https://github.com/ResidentMario/geoplot"
- url = "https://pypi.io/packages/source/g/geoplot/geoplot-0.4.1.tar.gz"
+ pypi = "geoplot/geoplot-0.4.1.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-geopy/package.py b/var/spack/repos/builtin/packages/py-geopy/package.py
index b66d1f75a6..7059c62d90 100644
--- a/var/spack/repos/builtin/packages/py-geopy/package.py
+++ b/var/spack/repos/builtin/packages/py-geopy/package.py
@@ -10,7 +10,7 @@ class PyGeopy(PythonPackage):
"""geopy is a Python client for several popular geocoding web services."""
homepage = "https://github.com/geopy/geopy"
- url = "https://pypi.io/packages/source/g/geopy/geopy-2.1.0.tar.gz"
+ pypi = "geopy/geopy-2.1.0.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-gevent/package.py b/var/spack/repos/builtin/packages/py-gevent/package.py
index e1f28b445b..6b772bdd0e 100644
--- a/var/spack/repos/builtin/packages/py-gevent/package.py
+++ b/var/spack/repos/builtin/packages/py-gevent/package.py
@@ -10,7 +10,7 @@ class PyGevent(PythonPackage):
"""gevent is a coroutine-based Python networking library."""
homepage = "http://www.gevent.org"
- url = "https://pypi.io/packages/source/g/gevent/gevent-1.3a2.tar.gz"
+ pypi = "gevent/gevent-1.3a2.tar.gz"
version('1.3a2', sha256='f7ab82697111ea233c7beeadf5240f669dfad9c4bbc89a3ec80a49e2c48a65bd')
diff --git a/var/spack/repos/builtin/packages/py-git-review/package.py b/var/spack/repos/builtin/packages/py-git-review/package.py
index 272c1418c2..38e07372fe 100644
--- a/var/spack/repos/builtin/packages/py-git-review/package.py
+++ b/var/spack/repos/builtin/packages/py-git-review/package.py
@@ -10,7 +10,7 @@ class PyGitReview(PythonPackage):
"""git-review is a tool that helps submitting git branches to gerrit"""
homepage = "http://docs.openstack.org/infra/git-review"
- url = "https://pypi.io/packages/source/g/git-review/git-review-1.25.0.tar.gz"
+ pypi = "git-review/git-review-1.25.0.tar.gz"
version('1.28.0', sha256='8e3aabb7b9484063e49c2504d137609401e32ad5128ff2a5cf43e98d5d3dc15a')
version('1.26.0', sha256='487c3c1d7cc81d02b303a1245e432579f683695c827ad454685b3953f70f0b94')
diff --git a/var/spack/repos/builtin/packages/py-gitdb/package.py b/var/spack/repos/builtin/packages/py-gitdb/package.py
index 50670dbcbf..6dfb0ff615 100644
--- a/var/spack/repos/builtin/packages/py-gitdb/package.py
+++ b/var/spack/repos/builtin/packages/py-gitdb/package.py
@@ -11,7 +11,7 @@ class PyGitdb(PythonPackage):
to git repositories."""
homepage = "https://gitdb.readthedocs.io"
- url = "https://pypi.io/packages/source/g/gitdb/gitdb-4.0.5.tar.gz"
+ pypi = "gitdb/gitdb-4.0.5.tar.gz"
version('4.0.5', sha256='c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9')
diff --git a/var/spack/repos/builtin/packages/py-gitpython/package.py b/var/spack/repos/builtin/packages/py-gitpython/package.py
index 8e75089c46..22618b37eb 100644
--- a/var/spack/repos/builtin/packages/py-gitpython/package.py
+++ b/var/spack/repos/builtin/packages/py-gitpython/package.py
@@ -10,7 +10,7 @@ class PyGitpython(PythonPackage):
"""GitPython is a python library used to interact with Git repositories."""
homepage = "http://gitpython.readthedocs.org"
- url = "https://pypi.io/packages/source/g/gitpython/GitPython-3.1.7.tar.gz"
+ pypi = "gitpython/GitPython-3.1.7.tar.gz"
version('3.1.8', sha256='49d4f859bda7bd6ef9ce72d9a2cddb6a59dd70f34a18ce409670bc655431c517')
version('3.1.6', sha256='00d459b1fd2d4a2106252867701f7303485654bdb115275fa6f788756d18879e')
diff --git a/var/spack/repos/builtin/packages/py-goatools/package.py b/var/spack/repos/builtin/packages/py-goatools/package.py
index 863e329169..81ffbc0cef 100644
--- a/var/spack/repos/builtin/packages/py-goatools/package.py
+++ b/var/spack/repos/builtin/packages/py-goatools/package.py
@@ -10,7 +10,7 @@ class PyGoatools(PythonPackage):
"""Python scripts to find enrichment of GO terms"""
homepage = "https://github.com/tanghaibao/goatools"
- url = "https://pypi.io/packages/source/g/goatools/goatools-0.7.11.tar.gz"
+ pypi = "goatools/goatools-0.7.11.tar.gz"
version('0.7.11', sha256='753c6fb8c901367aa5d64ce5ad487d82903e424cf8ec7bac50ee069b307f6364')
diff --git a/var/spack/repos/builtin/packages/py-google-api-core/package.py b/var/spack/repos/builtin/packages/py-google-api-core/package.py
index be9ce2e32a..847a66f9b0 100644
--- a/var/spack/repos/builtin/packages/py-google-api-core/package.py
+++ b/var/spack/repos/builtin/packages/py-google-api-core/package.py
@@ -10,7 +10,7 @@ class PyGoogleApiCore(PythonPackage):
"""Google API client core library."""
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python"
- url = "https://pypi.io/packages/source/g/google-api-core/google-api-core-1.14.2.tar.gz"
+ pypi = "google-api-core/google-api-core-1.14.2.tar.gz"
# google.api_core.operations_v1 and google.api_core.gapic_v1 require
# grpc optional dependency
diff --git a/var/spack/repos/builtin/packages/py-google-api-python-client/package.py b/var/spack/repos/builtin/packages/py-google-api-python-client/package.py
index 5e85f7181c..8fa072ff3a 100644
--- a/var/spack/repos/builtin/packages/py-google-api-python-client/package.py
+++ b/var/spack/repos/builtin/packages/py-google-api-python-client/package.py
@@ -11,7 +11,7 @@ class PyGoogleApiPythonClient(PythonPackage):
Plus, Moderator, and many other Google APIs."""
homepage = "http://github.com/google/google-api-python-client/"
- url = "https://pypi.io/packages/source/g/google-api-python-client/google-api-python-client-1.7.10.tar.gz"
+ pypi = "google-api-python-client/google-api-python-client-1.7.10.tar.gz"
version('1.7.10', sha256='2e55a5c7b56233c68945b6804c73e253445933f4d485d4e69e321b38772b9dd6')
diff --git a/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py b/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py
index ab4c3c7e72..db66b6e45d 100644
--- a/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py
+++ b/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py
@@ -10,7 +10,7 @@ class PyGoogleAuthHttplib2(PythonPackage):
"""Google Authentication Library: httplib2 transport."""
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"
- url = "https://pypi.io/packages/source/g/google-auth-httplib2/google-auth-httplib2-0.0.3.tar.gz"
+ pypi = "google-auth-httplib2/google-auth-httplib2-0.0.3.tar.gz"
version('0.0.3', sha256='098fade613c25b4527b2c08fa42d11f3c2037dda8995d86de0745228e965d445')
diff --git a/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py b/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py
index 416c9f7098..385e28ab5f 100644
--- a/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py
@@ -8,7 +8,7 @@ class PyGoogleAuthOauthlib(PythonPackage):
"""This library provides oauthlib integration with google-auth."""
homepage = "https://github.com/googleapis/google-auth-library-python-oauthlib"
- url = "https://pypi.io/packages/source/g/google-auth-oauthlib/google-auth-oauthlib-0.4.1.tar.gz"
+ pypi = "google-auth-oauthlib/google-auth-oauthlib-0.4.1.tar.gz"
version('0.4.1', sha256='88d2cd115e3391eb85e1243ac6902e76e77c5fe438b7276b297fbe68015458dd')
diff --git a/var/spack/repos/builtin/packages/py-google-auth/package.py b/var/spack/repos/builtin/packages/py-google-auth/package.py
index 1bf19bdb08..94ba854dc8 100644
--- a/var/spack/repos/builtin/packages/py-google-auth/package.py
+++ b/var/spack/repos/builtin/packages/py-google-auth/package.py
@@ -11,7 +11,7 @@ class PyGoogleAuth(PythonPackage):
authentication mechanisms to access Google APIs."""
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python"
- url = "https://pypi.io/packages/source/g/google-auth/google-auth-1.6.3.tar.gz"
+ pypi = "google-auth/google-auth-1.6.3.tar.gz"
version('1.6.3', sha256='0f7c6a64927d34c1a474da92cfc59e552a5d3b940d3266606c6a28b72888b9e4')
diff --git a/var/spack/repos/builtin/packages/py-google-cloud-core/package.py b/var/spack/repos/builtin/packages/py-google-cloud-core/package.py
index d32a1dbf15..657ad4160a 100644
--- a/var/spack/repos/builtin/packages/py-google-cloud-core/package.py
+++ b/var/spack/repos/builtin/packages/py-google-cloud-core/package.py
@@ -10,7 +10,7 @@ class PyGoogleCloudCore(PythonPackage):
"""Google Cloud API client core library."""
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python"
- url = "https://pypi.io/packages/source/g/google-cloud-core/google-cloud-core-1.0.3.tar.gz"
+ pypi = "google-cloud-core/google-cloud-core-1.0.3.tar.gz"
version('1.0.3', sha256='10750207c1a9ad6f6e082d91dbff3920443bdaf1c344a782730489a9efa802f1')
diff --git a/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py b/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py
index d89b32b0d4..4c6147347c 100644
--- a/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py
@@ -10,7 +10,7 @@ class PyGoogleCloudStorage(PythonPackage):
"""Google Cloud Storage API client library."""
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python"
- url = "https://pypi.io/packages/source/g/google-cloud-storage/google-cloud-storage-1.18.0.tar.gz"
+ pypi = "google-cloud-storage/google-cloud-storage-1.18.0.tar.gz"
version('1.18.0', sha256='9fb3dc68948f4c893c2b16f5a3db3daea2d2f3b8e9d5c2d505fe1523758009b6')
diff --git a/var/spack/repos/builtin/packages/py-google-pasta/package.py b/var/spack/repos/builtin/packages/py-google-pasta/package.py
index ee19406005..4a8ce17714 100644
--- a/var/spack/repos/builtin/packages/py-google-pasta/package.py
+++ b/var/spack/repos/builtin/packages/py-google-pasta/package.py
@@ -10,7 +10,7 @@ class PyGooglePasta(PythonPackage):
"""pasta is an AST-based Python refactoring library."""
homepage = "https://github.com/google/pasta"
- url = "https://pypi.io/packages/source/g/google-pasta/google-pasta-0.1.8.tar.gz"
+ pypi = "google-pasta/google-pasta-0.1.8.tar.gz"
version('0.1.8', sha256='713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb')
diff --git a/var/spack/repos/builtin/packages/py-google-resumable-media/package.py b/var/spack/repos/builtin/packages/py-google-resumable-media/package.py
index ea84fc077a..3fbf79caab 100644
--- a/var/spack/repos/builtin/packages/py-google-resumable-media/package.py
+++ b/var/spack/repos/builtin/packages/py-google-resumable-media/package.py
@@ -10,7 +10,7 @@ class PyGoogleResumableMedia(PythonPackage):
"""Utilities for Google Media Downloads and Resumable Uploads."""
homepage = "https://github.com/GoogleCloudPlatform/google-resumable-media-python"
- url = "https://pypi.io/packages/source/g/google-resumable-media/google-resumable-media-0.3.2.tar.gz"
+ pypi = "google-resumable-media/google-resumable-media-0.3.2.tar.gz"
version('0.3.2', sha256='3e38923493ca0d7de0ad91c31acfefc393c78586db89364e91cb4f11990e51ba')
diff --git a/var/spack/repos/builtin/packages/py-google/package.py b/var/spack/repos/builtin/packages/py-google/package.py
index d0b70ba0a1..a1f5c2a66d 100644
--- a/var/spack/repos/builtin/packages/py-google/package.py
+++ b/var/spack/repos/builtin/packages/py-google/package.py
@@ -8,7 +8,7 @@ class PyGoogle(PythonPackage):
"""Python bindings to the Google search engine."""
homepage = "http://breakingcode.wordpress.com/"
- url = "https://pypi.io/packages/source/g/google/google-3.0.0.tar.gz"
+ pypi = "google/google-3.0.0.tar.gz"
version('3.0.0', sha256='143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe')
diff --git a/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py b/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py
index ce116afc5c..e73857d5b3 100644
--- a/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py
+++ b/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py
@@ -10,7 +10,7 @@ class PyGoogleapisCommonProtos(PythonPackage):
"""Common protobufs used in Google APIs."""
homepage = "https://github.com/googleapis/googleapis"
- url = "https://pypi.io/packages/source/g/googleapis-common-protos/googleapis-common-protos-1.6.0.tar.gz"
+ pypi = "googleapis-common-protos/googleapis-common-protos-1.6.0.tar.gz"
version('1.6.0', sha256='e61b8ed5e36b976b487c6e7b15f31bb10c7a0ca7bd5c0e837f4afab64b53a0c6')
diff --git a/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py b/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
index 96710e1a17..f78079b55c 100644
--- a/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
+++ b/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
@@ -8,7 +8,7 @@ class PyGoogledrivedownloader(PythonPackage):
"""Minimal class to download shared files from Google Drive."""
homepage = "https://github.com/ndrplz/google-drive-downloader"
- url = "https://pypi.io/packages/source/g/googledrivedownloader/googledrivedownloader-0.4.tar.gz"
+ pypi = "googledrivedownloader/googledrivedownloader-0.4.tar.gz"
version('0.4', sha256='4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204')
diff --git a/var/spack/repos/builtin/packages/py-gpaw/package.py b/var/spack/repos/builtin/packages/py-gpaw/package.py
index 4bb61361f6..27329c0a60 100644
--- a/var/spack/repos/builtin/packages/py-gpaw/package.py
+++ b/var/spack/repos/builtin/packages/py-gpaw/package.py
@@ -12,7 +12,7 @@ class PyGpaw(PythonPackage):
(ASE)."""
homepage = "https://wiki.fysik.dtu.dk/gpaw/index.html"
- url = "https://pypi.io/packages/source/g/gpaw/gpaw-1.3.0.tar.gz"
+ pypi = "gpaw/gpaw-1.3.0.tar.gz"
version('19.8.1', sha256='79dee367d695d68409c4d69edcbad5c8679137d6715da403f6c2500cb2178c2a')
version('1.3.0', sha256='cf601c69ac496421e36111682bcc1d23da2dba2aabc96be51accf73dea30655c')
diff --git a/var/spack/repos/builtin/packages/py-gpustat/package.py b/var/spack/repos/builtin/packages/py-gpustat/package.py
index c351d3770b..9ebf7cc8cc 100644
--- a/var/spack/repos/builtin/packages/py-gpustat/package.py
+++ b/var/spack/repos/builtin/packages/py-gpustat/package.py
@@ -8,7 +8,7 @@ class PyGpustat(PythonPackage):
"""An utility to monitor NVIDIA GPU status and usage."""
homepage = "https://github.com/wookayin/gpustat"
- url = "https://pypi.io/packages/source/g/gpustat/gpustat-0.6.0.tar.gz"
+ pypi = "gpustat/gpustat-0.6.0.tar.gz"
version('0.6.0', sha256='f69135080b2668b662822633312c2180002c10111597af9631bb02e042755b6c')
diff --git a/var/spack/repos/builtin/packages/py-gputil/package.py b/var/spack/repos/builtin/packages/py-gputil/package.py
index 22a16dda7b..cceedf7397 100644
--- a/var/spack/repos/builtin/packages/py-gputil/package.py
+++ b/var/spack/repos/builtin/packages/py-gputil/package.py
@@ -11,7 +11,7 @@ class PyGputil(PythonPackage):
using nvidia-smi."""
homepage = "https://github.com/anderskm/gputil"
- url = "https://pypi.io/packages/source/G/GPUtil/GPUtil-1.4.0.tar.gz"
+ pypi = "GPUtil/GPUtil-1.4.0.tar.gz"
version('1.4.0', sha256='099e52c65e512cdfa8c8763fca67f5a5c2afb63469602d5dcb4d296b3661efb9')
diff --git a/var/spack/repos/builtin/packages/py-gpy/package.py b/var/spack/repos/builtin/packages/py-gpy/package.py
index d85c28b52d..b76047041c 100644
--- a/var/spack/repos/builtin/packages/py-gpy/package.py
+++ b/var/spack/repos/builtin/packages/py-gpy/package.py
@@ -10,7 +10,7 @@ class PyGpy(PythonPackage):
"""The Gaussian Process Toolbox."""
homepage = "http://sheffieldml.github.com/GPy/"
- url = "https://pypi.io/packages/source/g/gpy/GPy-1.9.9.tar.gz"
+ pypi = "gpy/GPy-1.9.9.tar.gz"
version('1.9.9', sha256='04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed')
version('0.8.8', sha256='e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988')
diff --git a/var/spack/repos/builtin/packages/py-gpytorch/package.py b/var/spack/repos/builtin/packages/py-gpytorch/package.py
index 7635c07e60..05efe8a964 100644
--- a/var/spack/repos/builtin/packages/py-gpytorch/package.py
+++ b/var/spack/repos/builtin/packages/py-gpytorch/package.py
@@ -10,7 +10,7 @@ class PyGpytorch(PythonPackage):
process models with ease."""
homepage = "https://gpytorch.ai/"
- url = "https://pypi.io/packages/source/g/gpytorch/gpytorch-1.2.1.tar.gz"
+ pypi = "gpytorch/gpytorch-1.2.1.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-graphviz/package.py b/var/spack/repos/builtin/packages/py-graphviz/package.py
index e556430f9d..cf1f59eafe 100644
--- a/var/spack/repos/builtin/packages/py-graphviz/package.py
+++ b/var/spack/repos/builtin/packages/py-graphviz/package.py
@@ -11,7 +11,7 @@ class PyGraphviz(PythonPackage):
"""Simple Python interface for Graphviz"""
homepage = "https://github.com/xflr6/graphviz"
- url = "https://pypi.io/packages/source/g/graphviz/graphviz-0.10.1.zip"
+ pypi = "graphviz/graphviz-0.10.1.zip"
version('0.13.2', sha256='60acbeee346e8c14555821eab57dbf68a169e6c10bce40e83c1bf44f63a62a01')
version('0.13', sha256='dc08677f37c65a4a480f00df4bd0d19a0a103c06aad95f21a37f0b7fd440de81')
diff --git a/var/spack/repos/builtin/packages/py-greenlet/package.py b/var/spack/repos/builtin/packages/py-greenlet/package.py
index 8f967424db..0adf8fcf2d 100644
--- a/var/spack/repos/builtin/packages/py-greenlet/package.py
+++ b/var/spack/repos/builtin/packages/py-greenlet/package.py
@@ -10,7 +10,7 @@ class PyGreenlet(PythonPackage):
"""Lightweight in-process concurrent programming"""
homepage = "https://github.com/python-greenlet/greenlet"
- url = "https://pypi.io/packages/source/g/greenlet/greenlet-0.4.17.tar.gz"
+ pypi = "greenlet/greenlet-0.4.17.tar.gz"
version('0.4.17', sha256='41d8835c69a78de718e466dd0e6bfd4b46125f21a67c3ff6d76d8d8059868d6b')
version('0.4.13', sha256='0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4')
diff --git a/var/spack/repos/builtin/packages/py-grequests/package.py b/var/spack/repos/builtin/packages/py-grequests/package.py
index 4f171dabc1..fa5155df3a 100644
--- a/var/spack/repos/builtin/packages/py-grequests/package.py
+++ b/var/spack/repos/builtin/packages/py-grequests/package.py
@@ -14,7 +14,7 @@ class PyGrequests(PythonPackage):
"""
homepage = "https://github.com/spyoungtech/grequests"
- url = "https://pypi.io/packages/source/g/grequests/grequests-0.4.0.tar.gz"
+ pypi = "grequests/grequests-0.4.0.tar.gz"
version('0.4.0', sha256='8aeccc15e60ec65c7e67ee32e9c596ab2196979815497f85cf863465a1626490')
version('0.3.0', sha256='0f41c4eee83bab39f5543af49665c08681637a0562a5704a3f7b2e4a996531c9')
diff --git a/var/spack/repos/builtin/packages/py-griddataformats/package.py b/var/spack/repos/builtin/packages/py-griddataformats/package.py
index f7c8584ac0..4a5695caf1 100644
--- a/var/spack/repos/builtin/packages/py-griddataformats/package.py
+++ b/var/spack/repos/builtin/packages/py-griddataformats/package.py
@@ -13,7 +13,7 @@ class PyGriddataformats(PythonPackage):
data again."""
homepage = "http://www.mdanalysis.org/GridDataFormats"
- url = "https://pypi.io/packages/source/G/GridDataFormats/GridDataFormats-0.5.0.tar.gz"
+ pypi = "GridDataFormats/GridDataFormats-0.5.0.tar.gz"
version('0.5.0', sha256='f317ed60708de22d1b2a76ce89a00f722d903291b1055ff1018d441870c39d69')
version('0.4.1', sha256='b362662c2dc475e2a3895fe044eaaa9a707bd660fd109a63dac84a47236690a3')
diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py
index b53cb4a0f1..2c1c08f679 100644
--- a/var/spack/repos/builtin/packages/py-grpcio/package.py
+++ b/var/spack/repos/builtin/packages/py-grpcio/package.py
@@ -8,7 +8,7 @@ class PyGrpcio(PythonPackage):
"""HTTP/2-based RPC framework."""
homepage = "https://grpc.io/"
- url = "https://pypi.io/packages/source/g/grpcio/grpcio-1.32.0.tar.gz"
+ pypi = "grpcio/grpcio-1.32.0.tar.gz"
version('1.32.0', sha256='01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639')
version('1.30.0', sha256='e8f2f5d16e0164c415f1b31a8d9a81f2e4645a43d1b261375d6bab7b0adf511f')
diff --git a/var/spack/repos/builtin/packages/py-gsd/package.py b/var/spack/repos/builtin/packages/py-gsd/package.py
index f130265d82..a24a90c25b 100644
--- a/var/spack/repos/builtin/packages/py-gsd/package.py
+++ b/var/spack/repos/builtin/packages/py-gsd/package.py
@@ -16,7 +16,7 @@ class PyGsd(PythonPackage):
tool to explore the behavior of the simulation."""
homepage = "https://gsd.readthedocs.io/en/stable/#"
- url = "https://pypi.io/packages/source/g/gsd/gsd-1.9.3.tar.gz"
+ pypi = "gsd/gsd-1.9.3.tar.gz"
version('1.9.3', sha256='c6b37344e69020f69fda2b8d97f894cb41fd720840abeda682edd680d1cff838')
diff --git a/var/spack/repos/builtin/packages/py-gsi/package.py b/var/spack/repos/builtin/packages/py-gsi/package.py
index 3f09ff3b55..e28bcf54a3 100644
--- a/var/spack/repos/builtin/packages/py-gsi/package.py
+++ b/var/spack/repos/builtin/packages/py-gsi/package.py
@@ -10,7 +10,7 @@ class PyGsi(PythonPackage):
"""Python interface for GSI authentication"""
homepage = "https://github.com/DIRACGrid/pyGSI"
- url = "https://pypi.io/packages/source/g/gsi/GSI-0.6.5.tar.gz"
+ pypi = "gsi/GSI-0.6.5.tar.gz"
version('0.6.5', sha256='8291dd2fab2be12626272629f7f9661487c4e29f1f9ab8c61614c54b06cb0643')
diff --git a/var/spack/repos/builtin/packages/py-guidata/package.py b/var/spack/repos/builtin/packages/py-guidata/package.py
index 40ddc445b2..6e7b712052 100644
--- a/var/spack/repos/builtin/packages/py-guidata/package.py
+++ b/var/spack/repos/builtin/packages/py-guidata/package.py
@@ -11,7 +11,7 @@ class PyGuidata(PythonPackage):
and display"""
homepage = "https://github.com/PierreRaybaut/guidata"
- url = "https://pypi.io/packages/source/g/guidata/guidata-1.7.5.zip"
+ pypi = "guidata/guidata-1.7.5.zip"
version('1.7.5', sha256='531d5e9ea784120c2e14212cfbd9c63f78fc7a77bcb9c5497be984584ee455c0')
diff --git a/var/spack/repos/builtin/packages/py-guiqwt/package.py b/var/spack/repos/builtin/packages/py-guiqwt/package.py
index 86cb35e37f..e59aa4eeca 100644
--- a/var/spack/repos/builtin/packages/py-guiqwt/package.py
+++ b/var/spack/repos/builtin/packages/py-guiqwt/package.py
@@ -11,7 +11,7 @@ class PyGuiqwt(PythonPackage):
(extension to PythonQwt)"""
homepage = "https://github.com/PierreRaybaut/guiqwt"
- url = "https://pypi.io/packages/source/g/guiqwt/guiqwt-3.0.2.zip"
+ pypi = "guiqwt/guiqwt-3.0.2.zip"
version('3.0.2', sha256='387c0b9430624ecc87931e33ff963785194968c9f848337eb050eca48c6cd858')
diff --git a/var/spack/repos/builtin/packages/py-h11/package.py b/var/spack/repos/builtin/packages/py-h11/package.py
index e31e940b7f..b6d9c72826 100644
--- a/var/spack/repos/builtin/packages/py-h11/package.py
+++ b/var/spack/repos/builtin/packages/py-h11/package.py
@@ -10,7 +10,7 @@ class PyH11(PythonPackage):
"""A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"""
homepage = "https://github.com/python-hyper/h11"
- url = "https://pypi.io/packages/source/h/h11/h11-0.10.0.tar.gz"
+ pypi = "h11/h11-0.10.0.tar.gz"
version('0.10.0', sha256='311dc5478c2568cc07262e0381cdfc5b9c6ba19775905736c87e81ae6662b9fd')
version('0.9.0', sha256='33d4bca7be0fa039f4e84d50ab00531047e53d6ee8ffbc83501ea602c169cae1')
diff --git a/var/spack/repos/builtin/packages/py-h2/package.py b/var/spack/repos/builtin/packages/py-h2/package.py
index 375f36c27d..4a4e96366e 100644
--- a/var/spack/repos/builtin/packages/py-h2/package.py
+++ b/var/spack/repos/builtin/packages/py-h2/package.py
@@ -10,7 +10,7 @@ class PyH2(PythonPackage):
"""HTTP/2 State-Machine based protocol implementation"""
homepage = "https://github.com/python-hyper/hyper-h2"
- url = "https://pypi.io/packages/source/h/h2/h2-4.0.0.tar.gz"
+ pypi = "h2/h2-4.0.0.tar.gz"
version('4.0.0', sha256='bb7ac7099dd67a857ed52c815a6192b6b1f5ba6b516237fc24a085341340593d')
diff --git a/var/spack/repos/builtin/packages/py-h5glance/package.py b/var/spack/repos/builtin/packages/py-h5glance/package.py
index 1256f65c40..9591330576 100644
--- a/var/spack/repos/builtin/packages/py-h5glance/package.py
+++ b/var/spack/repos/builtin/packages/py-h5glance/package.py
@@ -13,7 +13,7 @@ class PyH5glance(PythonPackage):
"""
homepage = "https://github.com/European-XFEL/h5glance"
- url = "https://pypi.io/packages/source/h/h5glance/h5glance-0.4.tar.gz"
+ pypi = "h5glance/h5glance-0.4.tar.gz"
version('0.6', sha256='203369ab614273aaad3419f151e234609bb8390b201b65f678d7e17c57633e35')
version('0.5', sha256='bc34ee42429f0440b329083e3f67fbf3d7016a4aed9e8b30911e5905217bc8d9')
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index a6479c4379..8834c8416e 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -11,7 +11,7 @@ class PyH5py(PythonPackage):
HDF5 library from Python."""
homepage = "http://www.h5py.org/"
- url = "https://pypi.io/packages/source/h/h5py/h5py-2.10.0.tar.gz"
+ pypi = "h5py/h5py-2.10.0.tar.gz"
git = "https://github.com/h5py/h5py.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-h5sh/package.py b/var/spack/repos/builtin/packages/py-h5sh/package.py
index e49fd75901..bd2c4cf746 100644
--- a/var/spack/repos/builtin/packages/py-h5sh/package.py
+++ b/var/spack/repos/builtin/packages/py-h5sh/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyH5sh(PythonPackage):
"""Shell-like environment for HDF5."""
- homepage = "https://pypi.python.org/pypi/h5sh"
+ homepage = "https://github.com/sethrj/h5sh"
url = "https://github.com/sethrj/h5sh/archive/v0.1.1.tar.gz"
maintainers = ['sethrj']
diff --git a/var/spack/repos/builtin/packages/py-hacking/package.py b/var/spack/repos/builtin/packages/py-hacking/package.py
index bb8e8c42b2..8b62d042ac 100644
--- a/var/spack/repos/builtin/packages/py-hacking/package.py
+++ b/var/spack/repos/builtin/packages/py-hacking/package.py
@@ -10,7 +10,7 @@ class PyHacking(PythonPackage):
"""OpenStack Hacking Guideline Enforcement."""
homepage = "https://docs.openstack.org/hacking/latest/"
- url = "https://pypi.io/packages/source/h/hacking/hacking-1.1.0.tar.gz"
+ pypi = "hacking/hacking-1.1.0.tar.gz"
version('1.1.0', sha256='23a306f3a1070a4469a603886ba709780f02ae7e0f1fc7061e5c6fb203828fee')
diff --git a/var/spack/repos/builtin/packages/py-hdfs/package.py b/var/spack/repos/builtin/packages/py-hdfs/package.py
index c84c3faca9..15ba315a69 100644
--- a/var/spack/repos/builtin/packages/py-hdfs/package.py
+++ b/var/spack/repos/builtin/packages/py-hdfs/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyHdfs(PythonPackage):
"""API and command line interface for HDFS"""
homepage = "https://hdfscli.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/h/hdfs/hdfs-2.1.0.tar.gz"
+ pypi = "hdfs/hdfs-2.1.0.tar.gz"
version('2.1.0', sha256='a40fe99ccb03b5c3247b33a4110eb21b57405dd7c3f1b775e362e66c19b44bc6')
diff --git a/var/spack/repos/builtin/packages/py-healpy/package.py b/var/spack/repos/builtin/packages/py-healpy/package.py
index d1781d13a1..4d4ad29773 100644
--- a/var/spack/repos/builtin/packages/py-healpy/package.py
+++ b/var/spack/repos/builtin/packages/py-healpy/package.py
@@ -10,7 +10,7 @@ class PyHealpy(PythonPackage):
"""healpy is a Python package to handle pixelated data on the sphere."""
homepage = "https://healpy.readthedocs.io/"
- url = "https://pypi.python.org/packages/source/h/healpy/healpy-1.13.0.tar.gz"
+ pypi = "healpy/healpy-1.13.0.tar.gz"
version('1.13.0', sha256='d0ae02791c2404002a09c643e9e50bc58e3d258f702c736dc1f39ce1e6526f73')
version('1.7.4', sha256='3cca7ed7786ffcca70e2f39f58844667ffb8521180ac890d4da651b459f51442')
diff --git a/var/spack/repos/builtin/packages/py-heapdict/package.py b/var/spack/repos/builtin/packages/py-heapdict/package.py
index 7333f24c7a..c3ca9c239d 100644
--- a/var/spack/repos/builtin/packages/py-heapdict/package.py
+++ b/var/spack/repos/builtin/packages/py-heapdict/package.py
@@ -10,7 +10,7 @@ class PyHeapdict(PythonPackage):
"""A heap with decrease-key and increase-key operations"""
homepage = "http://stutzbachenterprises.com/"
- url = "https://pypi.io/packages/source/H/HeapDict/HeapDict-1.0.1.tar.gz"
+ pypi = "HeapDict/HeapDict-1.0.1.tar.gz"
version('1.0.1', sha256='8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6')
diff --git a/var/spack/repos/builtin/packages/py-hepdata-validator/package.py b/var/spack/repos/builtin/packages/py-hepdata-validator/package.py
index 9fc1572b21..3d9b6c3c7c 100644
--- a/var/spack/repos/builtin/packages/py-hepdata-validator/package.py
+++ b/var/spack/repos/builtin/packages/py-hepdata-validator/package.py
@@ -10,7 +10,7 @@ class PyHepdataValidator(PythonPackage):
"""Validation schema and code for HEPdata submissions."""
homepage = "https://github.com/hepdata/hepdata-validator"
- url = "https://pypi.io/packages/source/h/hepdata_validator/hepdata_validator-0.1.16.tar.gz"
+ pypi = "hepdata_validator/hepdata_validator-0.1.16.tar.gz"
tags = ['hep']
diff --git a/var/spack/repos/builtin/packages/py-hepunits/package.py b/var/spack/repos/builtin/packages/py-hepunits/package.py
index 775491e122..6a2d4d4421 100644
--- a/var/spack/repos/builtin/packages/py-hepunits/package.py
+++ b/var/spack/repos/builtin/packages/py-hepunits/package.py
@@ -10,7 +10,7 @@ class PyHepunits(PythonPackage):
"""Units and constants in the HEP system of units."""
git = "https://github.com/scikit-hep/hepunits.git"
- url = "https://pypi.io/packages/source/h/hepunits/hepunits-1.2.1.tar.gz"
+ pypi = "hepunits/hepunits-1.2.1.tar.gz"
homepage = "https://github.com/scikit-hep/hepunits"
tags = ['hep']
diff --git a/var/spack/repos/builtin/packages/py-hieroglyph/package.py b/var/spack/repos/builtin/packages/py-hieroglyph/package.py
index fa8a0dab06..a0e571aadc 100644
--- a/var/spack/repos/builtin/packages/py-hieroglyph/package.py
+++ b/var/spack/repos/builtin/packages/py-hieroglyph/package.py
@@ -12,7 +12,7 @@ class PyHieroglyph(PythonPackage):
"""
homepage = "https://github.com/nyergler/hieroglyph"
- url = "https://pypi.io/packages/source/h/hieroglyph/hieroglyph-1.0.0.tar.gz"
+ pypi = "hieroglyph/hieroglyph-1.0.0.tar.gz"
version('1.0.0', sha256='8e137f0b1cd60c47b870011089790d3c8ddb74fcf409a75ddf2c7f2516ff337c')
version('master')
diff --git a/var/spack/repos/builtin/packages/py-hiredis/package.py b/var/spack/repos/builtin/packages/py-hiredis/package.py
index add8083916..000b778f82 100644
--- a/var/spack/repos/builtin/packages/py-hiredis/package.py
+++ b/var/spack/repos/builtin/packages/py-hiredis/package.py
@@ -9,7 +9,7 @@ class PyHiredis(PythonPackage):
It primarily speeds up parsing of multi bulk replies."""
homepage = "https://github.com/redis/hiredis-py"
- url = "https://pypi.io/packages/source/h/hiredis/hiredis-1.1.0.tar.gz"
+ pypi = "hiredis/hiredis-1.1.0.tar.gz"
version('1.1.0', sha256='996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132')
diff --git a/var/spack/repos/builtin/packages/py-hpack/package.py b/var/spack/repos/builtin/packages/py-hpack/package.py
index 8aae974133..07e8df5e81 100644
--- a/var/spack/repos/builtin/packages/py-hpack/package.py
+++ b/var/spack/repos/builtin/packages/py-hpack/package.py
@@ -10,7 +10,7 @@ class PyHpack(PythonPackage):
"""Pure-Python HPACK header compression"""
homepage = "https://github.com/python-hyper/hpack"
- url = "https://pypi.io/packages/source/h/hpack/hpack-4.0.0.tar.gz"
+ pypi = "hpack/hpack-4.0.0.tar.gz"
version('4.0.0', sha256='fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095')
diff --git a/var/spack/repos/builtin/packages/py-hpcbench/package.py b/var/spack/repos/builtin/packages/py-hpcbench/package.py
index 7721655824..1650b3a89e 100644
--- a/var/spack/repos/builtin/packages/py-hpcbench/package.py
+++ b/var/spack/repos/builtin/packages/py-hpcbench/package.py
@@ -11,7 +11,7 @@ class PyHpcbench(PythonPackage):
homepage = "https://github.com/BlueBrain/hpcbench"
- url = "https://pypi.io/packages/source/h/hpcbench/hpcbench-0.8.tar.gz"
+ pypi = "hpcbench/hpcbench-0.8.tar.gz"
git = "https://github.com/BlueBrain/hpcbench.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-hpccm/package.py b/var/spack/repos/builtin/packages/py-hpccm/package.py
index db041ef65a..cc1910b621 100644
--- a/var/spack/repos/builtin/packages/py-hpccm/package.py
+++ b/var/spack/repos/builtin/packages/py-hpccm/package.py
@@ -11,7 +11,7 @@ class PyHpccm(PythonPackage):
tool to make it easier to generate container specification files."""
homepage = "https://github.com/NVIDIA/hpc-container-maker"
- url = "https://pypi.io/packages/source/h/hpccm/hpccm-19.2.0.tar.gz"
+ pypi = "hpccm/hpccm-19.2.0.tar.gz"
version('19.2.0', sha256='c60eec914a802b0a76596cfd5fdf7122d3f8665fcef06ef928323f5dfb5219a6')
diff --git a/var/spack/repos/builtin/packages/py-hstspreload/package.py b/var/spack/repos/builtin/packages/py-hstspreload/package.py
index f3c304395b..98c5ef1638 100644
--- a/var/spack/repos/builtin/packages/py-hstspreload/package.py
+++ b/var/spack/repos/builtin/packages/py-hstspreload/package.py
@@ -10,7 +10,7 @@ class PyHstspreload(PythonPackage):
"""Chromium HSTS Preload list as a Python package and updated daily"""
homepage = "https://github.com/sethmlarson/hstspreload"
- url = "https://pypi.io/packages/source/h/hstspreload/hstspreload-2020.9.23.tar.gz"
+ pypi = "hstspreload/hstspreload-2020.9.23.tar.gz"
version('2020.9.23', sha256='35822733ba67cfb4efc6cd7d1230b509f0bd42c90eeb329faf2fe679f801e40f')
diff --git a/var/spack/repos/builtin/packages/py-html2text/package.py b/var/spack/repos/builtin/packages/py-html2text/package.py
index 69895a7361..438a81e17b 100644
--- a/var/spack/repos/builtin/packages/py-html2text/package.py
+++ b/var/spack/repos/builtin/packages/py-html2text/package.py
@@ -10,7 +10,7 @@ class PyHtml2text(PythonPackage):
"""Turn HTML into equivalent Markdown-structured text."""
homepage = "https://github.com/Alir3z4/html2text/"
- url = "https://pypi.io/packages/source/h/html2text/html2text-2016.9.19.tar.gz"
+ pypi = "html2text/html2text-2016.9.19.tar.gz"
version('2016.9.19', sha256='554ef5fd6c6cf6e3e4f725a62a3e9ec86a0e4d33cd0928136d1c79dbeb7b2d55')
diff --git a/var/spack/repos/builtin/packages/py-html5lib/package.py b/var/spack/repos/builtin/packages/py-html5lib/package.py
index e9e8b485ab..e52b641fa3 100644
--- a/var/spack/repos/builtin/packages/py-html5lib/package.py
+++ b/var/spack/repos/builtin/packages/py-html5lib/package.py
@@ -10,7 +10,7 @@ class PyHtml5lib(PythonPackage):
"""HTML parser based on the WHATWG HTML specification."""
homepage = "https://github.com/html5lib/html5lib-python"
- url = "https://pypi.io/packages/source/h/html5lib/html5lib-0.9999999.tar.gz"
+ pypi = "html5lib/html5lib-0.9999999.tar.gz"
version('1.0.1', sha256='66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736')
version('0.9999999', sha256='2612a191a8d5842bfa057e41ba50bbb9dcb722419d2408c78cff4758d0754868')
diff --git a/var/spack/repos/builtin/packages/py-httpbin/package.py b/var/spack/repos/builtin/packages/py-httpbin/package.py
index 815f748885..38990be468 100644
--- a/var/spack/repos/builtin/packages/py-httpbin/package.py
+++ b/var/spack/repos/builtin/packages/py-httpbin/package.py
@@ -10,7 +10,7 @@ class PyHttpbin(PythonPackage):
"""HTTP Request and Response Service"""
homepage = "https://github.com/Runscope/httpbin"
- url = "https://pypi.io/packages/source/h/httpbin/httpbin-0.7.0.tar.gz"
+ pypi = "httpbin/httpbin-0.7.0.tar.gz"
version('0.7.0', sha256='cbb37790c91575f4f15757f42ad41d9f729eb227d5edbe89e4ec175486db8dfa')
version('0.5.0', sha256='79fbc5d27e4194ea908b0fa18e09a59d95d287c91667aa69bcd010342d1589b5')
diff --git a/var/spack/repos/builtin/packages/py-httpcore/package.py b/var/spack/repos/builtin/packages/py-httpcore/package.py
index a161d9a171..b2e2cbef6d 100644
--- a/var/spack/repos/builtin/packages/py-httpcore/package.py
+++ b/var/spack/repos/builtin/packages/py-httpcore/package.py
@@ -11,7 +11,7 @@ class PyHttpcore(PythonPackage):
which does one thing only. Sending HTTP requests."""
homepage = "https://github.com/encode/httpcore"
- url = "https://pypi.io/packages/source/h/httpcore/httpcore-0.11.0.tar.gz"
+ pypi = "httpcore/httpcore-0.11.0.tar.gz"
version('0.11.0', sha256='35ffc735d746b83f8fc6d36f82600e56117b9e8adc65d0c0423264b6ebfef7bf')
diff --git a/var/spack/repos/builtin/packages/py-httplib2/package.py b/var/spack/repos/builtin/packages/py-httplib2/package.py
index 73877056ac..7535f399cf 100644
--- a/var/spack/repos/builtin/packages/py-httplib2/package.py
+++ b/var/spack/repos/builtin/packages/py-httplib2/package.py
@@ -10,7 +10,7 @@ class PyHttplib2(PythonPackage):
"""A comprehensive HTTP client library."""
homepage = "https://github.com/httplib2/httplib2"
- url = "https://pypi.io/packages/source/h/httplib2/httplib2-0.13.1.tar.gz"
+ pypi = "httplib2/httplib2-0.13.1.tar.gz"
version('0.13.1', sha256='6901c8c0ffcf721f9ce270ad86da37bc2b4d32b8802d4a9cec38274898a64044')
diff --git a/var/spack/repos/builtin/packages/py-httptools/package.py b/var/spack/repos/builtin/packages/py-httptools/package.py
index 9cb1f5df43..3aefbb240b 100644
--- a/var/spack/repos/builtin/packages/py-httptools/package.py
+++ b/var/spack/repos/builtin/packages/py-httptools/package.py
@@ -10,7 +10,7 @@ class PyHttptools(PythonPackage):
"""httptools is a Python binding for the nodejs HTTP parser."""
homepage = "https://github.com/MagicStack/httptools"
- url = "https://pypi.io/packages/source/h/httptools/httptools-0.1.1.tar.gz"
+ pypi = "httptools/httptools-0.1.1.tar.gz"
version('0.1.1', sha256='41b573cf33f64a8f8f3400d0a7faf48e1888582b6f6e02b82b9bd4f0bf7497ce')
diff --git a/var/spack/repos/builtin/packages/py-httpx/package.py b/var/spack/repos/builtin/packages/py-httpx/package.py
index 50dca9b2fb..5801754aa0 100644
--- a/var/spack/repos/builtin/packages/py-httpx/package.py
+++ b/var/spack/repos/builtin/packages/py-httpx/package.py
@@ -11,7 +11,7 @@ class PyHttpx(PythonPackage):
and async APIs, and support for both HTTP/1.1 and HTTP/2."""
homepage = "https://github.com/encode/httpx"
- url = "https://pypi.io/packages/source/h/httpx/httpx-0.15.2.tar.gz"
+ pypi = "httpx/httpx-0.15.2.tar.gz"
version('0.15.2', sha256='713a2deaf96d85bbd4a1fbdf0edb27d6b4ee2c9aaeda8433042367e4b9e1628d')
version('0.11.1', sha256='7d2bfb726eeed717953d15dddb22da9c2fcf48a4d70ba1456aa0a7faeda33cf7')
diff --git a/var/spack/repos/builtin/packages/py-humanfriendly/package.py b/var/spack/repos/builtin/packages/py-humanfriendly/package.py
index d6129f4db8..66d3fc38bf 100644
--- a/var/spack/repos/builtin/packages/py-humanfriendly/package.py
+++ b/var/spack/repos/builtin/packages/py-humanfriendly/package.py
@@ -9,7 +9,7 @@ class PyHumanfriendly(PythonPackage):
"""Human friendly output for text interfaces using Python"""
homepage = "https://humanfriendly.readthedocs.io/"
- url = "https://pypi.io/packages/source/h/humanfriendly/humanfriendly-8.1.tar.gz"
+ pypi = "humanfriendly/humanfriendly-8.1.tar.gz"
version('8.2', sha256='bf52ec91244819c780341a3438d5d7b09f431d3f113a475147ac9b7b167a3d12')
version('8.1', sha256='25c2108a45cfd1e8fbe9cdb30b825d34ef5d5675c8e11e4775c9aedbfb0bdee2')
diff --git a/var/spack/repos/builtin/packages/py-humanize/package.py b/var/spack/repos/builtin/packages/py-humanize/package.py
index 4778ce24d6..3f2a6b42cb 100644
--- a/var/spack/repos/builtin/packages/py-humanize/package.py
+++ b/var/spack/repos/builtin/packages/py-humanize/package.py
@@ -14,7 +14,7 @@ class PyHumanize(PythonPackage):
"""
homepage = "https://github.com/jmoiron/humanize"
- url = "https://pypi.io/packages/source/h/humanize/humanize-0.5.1.tar.gz"
+ pypi = "humanize/humanize-0.5.1.tar.gz"
version('0.5.1', sha256='a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19')
diff --git a/var/spack/repos/builtin/packages/py-hyperframe/package.py b/var/spack/repos/builtin/packages/py-hyperframe/package.py
index 046a0b828c..9717317585 100644
--- a/var/spack/repos/builtin/packages/py-hyperframe/package.py
+++ b/var/spack/repos/builtin/packages/py-hyperframe/package.py
@@ -10,7 +10,7 @@ class PyHyperframe(PythonPackage):
"""HTTP/2 framing layer for Python"""
homepage = "https://github.com/python-hyper/hyperframe/"
- url = "https://pypi.io/packages/source/h/hyperframe/hyperframe-6.0.0.tar.gz"
+ pypi = "hyperframe/hyperframe-6.0.0.tar.gz"
version('6.0.0', sha256='742d2a4bc3152a340a49d59f32e33ec420aa8e7054c1444ef5c7efff255842f1')
diff --git a/var/spack/repos/builtin/packages/py-hypothesis/package.py b/var/spack/repos/builtin/packages/py-hypothesis/package.py
index 68e64adc68..dffd75ad67 100644
--- a/var/spack/repos/builtin/packages/py-hypothesis/package.py
+++ b/var/spack/repos/builtin/packages/py-hypothesis/package.py
@@ -10,7 +10,7 @@ class PyHypothesis(PythonPackage):
"""A library for property based testing."""
homepage = "https://github.com/HypothesisWorks/hypothesis-python"
- url = "https://pypi.io/packages/source/h/hypothesis/hypothesis-4.41.2.tar.gz"
+ pypi = "hypothesis/hypothesis-4.41.2.tar.gz"
version('5.3.0', sha256='c9fdb53fe3bf1f8e7dcca1a7dd6e430862502f088aca2903d141511212e79429')
version('4.57.1', sha256='3c4369a4b0a1348561048bcda5f1db951a1b8e2a514ea8e8c70d36e656bf6fa0')
diff --git a/var/spack/repos/builtin/packages/py-identify/package.py b/var/spack/repos/builtin/packages/py-identify/package.py
index 3ffafe94d7..e9de319b22 100644
--- a/var/spack/repos/builtin/packages/py-identify/package.py
+++ b/var/spack/repos/builtin/packages/py-identify/package.py
@@ -13,7 +13,7 @@ class PyIdentify(PythonPackage):
standardized tags identifying what the file is."""
homepage = "https://github.com/chriskuehl/identify"
- url = "https://pypi.io/packages/source/i/identify/identify-1.4.7.tar.gz"
+ pypi = "identify/identify-1.4.7.tar.gz"
version('1.4.7', sha256='d8919589bd2a5f99c66302fec0ef9027b12ae150b0b0213999ad3f695fc7296e')
diff --git a/var/spack/repos/builtin/packages/py-idna/package.py b/var/spack/repos/builtin/packages/py-idna/package.py
index 95498e38a6..ee00badd4d 100644
--- a/var/spack/repos/builtin/packages/py-idna/package.py
+++ b/var/spack/repos/builtin/packages/py-idna/package.py
@@ -11,7 +11,7 @@ class PyIdna(PythonPackage):
"""Internationalized Domain Names for Python (IDNA 2008 and UTS #46) """
homepage = "https://github.com/kjd/idna"
- url = "https://pypi.io/packages/source/i/idna/idna-2.8.tar.gz"
+ pypi = "idna/idna-2.8.tar.gz"
version('2.8', sha256='c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407')
version('2.5', sha256='3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab')
diff --git a/var/spack/repos/builtin/packages/py-illumina-utils/package.py b/var/spack/repos/builtin/packages/py-illumina-utils/package.py
index 081b14163a..de379e8423 100644
--- a/var/spack/repos/builtin/packages/py-illumina-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-illumina-utils/package.py
@@ -11,7 +11,7 @@ class PyIlluminaUtils(PythonPackage):
data (for CASAVA 1.8+)."""
homepage = "https://github.com/meren/illumina-utils"
- url = "https://pypi.io/packages/source/i/illumina-utils/illumina-utils-2.2.tar.gz"
+ pypi = "illumina-utils/illumina-utils-2.2.tar.gz"
version('2.3', sha256='0e8407b91d530d9a53d8ec3c83e60f25e7f8f80d06ce17b8e4f57a02d3262441')
version('2.2', sha256='6039c72d077c101710fe4fdbfeaa30caa1c3c2c84ffa6295456927d82def8e6d')
diff --git a/var/spack/repos/builtin/packages/py-imageio/package.py b/var/spack/repos/builtin/packages/py-imageio/package.py
index 8dd09b1f3f..b56d7f0028 100644
--- a/var/spack/repos/builtin/packages/py-imageio/package.py
+++ b/var/spack/repos/builtin/packages/py-imageio/package.py
@@ -13,7 +13,7 @@ class PyImageio(PythonPackage):
cross-platform, runs on Python 2.7 and 3.4+, and is easy to install."""
homepage = "http://imageio.github.io/"
- url = "https://pypi.io/packages/source/i/imageio/imageio-2.3.0.tar.gz"
+ pypi = "imageio/imageio-2.3.0.tar.gz"
version('2.5.0', sha256='42e65aadfc3d57a1043615c92bdf6319b67589e49a0aae2b985b82144aceacad')
version('2.4.1', sha256='16b8077bc8a5fa7a58b3e744f7ecbb156d8c088132df31e0f4f546c98de3514a')
diff --git a/var/spack/repos/builtin/packages/py-imagesize/package.py b/var/spack/repos/builtin/packages/py-imagesize/package.py
index 2dbcbdb71b..a1b1118c5b 100644
--- a/var/spack/repos/builtin/packages/py-imagesize/package.py
+++ b/var/spack/repos/builtin/packages/py-imagesize/package.py
@@ -11,7 +11,7 @@ class PyImagesize(PythonPackage):
JPEG2000, and GIF image file formats."""
homepage = "https://github.com/shibukawa/imagesize_py"
- url = "https://pypi.io/packages/source/i/imagesize/imagesize-0.7.1.tar.gz"
+ pypi = "imagesize/imagesize-0.7.1.tar.gz"
version('1.1.0', sha256='f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5')
version('0.7.1', sha256='0ab2c62b87987e3252f89d30b7cedbec12a01af9274af9ffa48108f2c13c6062')
diff --git a/var/spack/repos/builtin/packages/py-iminuit/package.py b/var/spack/repos/builtin/packages/py-iminuit/package.py
index 035b05cab6..72ddf27532 100644
--- a/var/spack/repos/builtin/packages/py-iminuit/package.py
+++ b/var/spack/repos/builtin/packages/py-iminuit/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyIminuit(PythonPackage):
"""Interactive IPython-Friendly Minimizer based on SEAL Minuit2."""
- homepage = "https://pypi.python.org/pypi/iminuit"
- url = "https://pypi.io/packages/source/i/iminuit/iminuit-1.2.tar.gz"
+ pypi = "iminuit/iminuit-1.2.tar.gz"
version('1.3.6', sha256='d79a197f305d4708a0e3e52b0a6748c1a6997360d2fbdfd09c022995a6963b5e')
version('1.2', sha256='7651105fc3f186cfb5742f075ffebcc5088bf7797d8ed124c00977eebe0d1c64')
diff --git a/var/spack/repos/builtin/packages/py-immutables/package.py b/var/spack/repos/builtin/packages/py-immutables/package.py
index 24a92efc3c..341fe69ffe 100644
--- a/var/spack/repos/builtin/packages/py-immutables/package.py
+++ b/var/spack/repos/builtin/packages/py-immutables/package.py
@@ -8,7 +8,7 @@ class PyImmutables(PythonPackage):
"""An immutable mapping type for Python."""
homepage = "https://github.com/MagicStack/immutables"
- url = "https://pypi.io/packages/source/i/immutables/immutables-0.14.tar.gz"
+ pypi = "immutables/immutables-0.14.tar.gz"
version('0.14', sha256='a0a1cc238b678455145bae291d8426f732f5255537ed6a5b7645949704c70a78')
diff --git a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
index 2df356f636..efaa9f1af7 100644
--- a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
@@ -10,7 +10,7 @@ class PyImportlibMetadata(PythonPackage):
"""Read metadata from Python packages."""
homepage = "https://importlib-metadata.readthedocs.io/"
- url = "https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-1.2.0.tar.gz"
+ pypi = "importlib_metadata/importlib_metadata-1.2.0.tar.gz"
version('2.0.0', sha256='77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da')
version('1.2.0', sha256='41e688146d000891f32b1669e8573c57e39e5060e7f5f647aa617cd9a9568278')
diff --git a/var/spack/repos/builtin/packages/py-importlib-resources/package.py b/var/spack/repos/builtin/packages/py-importlib-resources/package.py
index 4c0a6e1243..ce9ee258ca 100644
--- a/var/spack/repos/builtin/packages/py-importlib-resources/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib-resources/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyImportlibResources(PythonPackage):
"""Read resources from Python packages"""
- homepage = "https://pypi.org/project/importlib_resources/"
- url = "https://pypi.io/packages/source/i/importlib_resources/importlib_resources-1.0.2.tar.gz"
+ pypi = "importlib_resources/importlib_resources-1.0.2.tar.gz"
version('1.0.2', sha256='d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078')
diff --git a/var/spack/repos/builtin/packages/py-importlib/package.py b/var/spack/repos/builtin/packages/py-importlib/package.py
index 723eb00c05..2ae5d9f57a 100644
--- a/var/spack/repos/builtin/packages/py-importlib/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib/package.py
@@ -10,6 +10,6 @@ class PyImportlib(PythonPackage):
"""Packaging for importlib from Python 2.7"""
homepage = "https://github.com/brettcannon/importlib"
- url = "https://pypi.io/packages/source/i/importlib/importlib-1.0.4.zip"
+ pypi = "importlib/importlib-1.0.4.zip"
version('1.0.4', sha256='b6ee7066fea66e35f8d0acee24d98006de1a0a8a94a8ce6efe73a9a23c8d9826')
diff --git a/var/spack/repos/builtin/packages/py-iniparse/package.py b/var/spack/repos/builtin/packages/py-iniparse/package.py
index f8083f0c5f..9c30109b80 100644
--- a/var/spack/repos/builtin/packages/py-iniparse/package.py
+++ b/var/spack/repos/builtin/packages/py-iniparse/package.py
@@ -10,7 +10,7 @@ class PyIniparse(PythonPackage):
"""Accessing and Modifying INI files"""
homepage = "https://github.com/candlepin/python-iniparse"
- url = "https://pypi.io/packages/source/i/iniparse/iniparse-0.4.tar.gz"
+ pypi = "iniparse/iniparse-0.4.tar.gz"
git = "https://github.com/candlepin/python-iniparse.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-invoke/package.py b/var/spack/repos/builtin/packages/py-invoke/package.py
index 29414d5fbc..383b72f86f 100644
--- a/var/spack/repos/builtin/packages/py-invoke/package.py
+++ b/var/spack/repos/builtin/packages/py-invoke/package.py
@@ -10,7 +10,7 @@ class PyInvoke(PythonPackage):
"""Pythonic task execution"""
homepage = "http://www.pyinvoke.org/"
- url = "https://pypi.io/packages/source/i/invoke/invoke-1.4.1.tar.gz"
+ pypi = "invoke/invoke-1.4.1.tar.gz"
version('1.4.1', sha256='de3f23bfe669e3db1085789fd859eb8ca8e0c5d9c20811e2407fa042e8a5e15d')
version('1.2.0', sha256='dc492f8f17a0746e92081aec3f86ae0b4750bf41607ea2ad87e5a7b5705121b7')
diff --git a/var/spack/repos/builtin/packages/py-ipaddress/package.py b/var/spack/repos/builtin/packages/py-ipaddress/package.py
index 142bddd5fe..228470377c 100644
--- a/var/spack/repos/builtin/packages/py-ipaddress/package.py
+++ b/var/spack/repos/builtin/packages/py-ipaddress/package.py
@@ -11,7 +11,7 @@ class PyIpaddress(PythonPackage):
"""Python 3.3's ipaddress for older Python versions"""
homepage = "https://github.com/phihag/ipaddress"
- url = "https://pypi.io/packages/source/i/ipaddress/ipaddress-1.0.23.tar.gz"
+ pypi = "ipaddress/ipaddress-1.0.23.tar.gz"
version('1.0.23', sha256='b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2')
version('1.0.22', sha256='b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c')
diff --git a/var/spack/repos/builtin/packages/py-ipdb/package.py b/var/spack/repos/builtin/packages/py-ipdb/package.py
index 81c4bfb705..0a49b52c76 100644
--- a/var/spack/repos/builtin/packages/py-ipdb/package.py
+++ b/var/spack/repos/builtin/packages/py-ipdb/package.py
@@ -10,8 +10,7 @@ class PyIpdb(PythonPackage):
"""ipdb is the iPython debugger and has many additional features, including
a better interactive debugging experience via colorized output."""
- homepage = "https://pypi.python.org/pypi/ipdb"
- url = "https://pypi.io/packages/source/i/ipdb/ipdb-0.10.1.tar.gz"
+ pypi = "ipdb/ipdb-0.10.1.tar.gz"
version('0.10.1', sha256='bb2948e726dbfb2687f4a582088b3f170b2556ba8e54ae1231c783c97e99ec87')
diff --git a/var/spack/repos/builtin/packages/py-ipykernel/package.py b/var/spack/repos/builtin/packages/py-ipykernel/package.py
index eee3e033b7..8532ed6d77 100644
--- a/var/spack/repos/builtin/packages/py-ipykernel/package.py
+++ b/var/spack/repos/builtin/packages/py-ipykernel/package.py
@@ -7,8 +7,7 @@
class PyIpykernel(PythonPackage):
"""IPython Kernel for Jupyter"""
- homepage = "https://pypi.python.org/pypi/ipykernel"
- url = "https://pypi.io/packages/source/i/ipykernel/ipykernel-5.3.4.tar.gz"
+ pypi = "ipykernel/ipykernel-5.3.4.tar.gz"
version('5.3.4', sha256='9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d')
version('5.1.1', sha256='f0e962052718068ad3b1d8bcc703794660858f58803c3798628817f492a8769c')
diff --git a/var/spack/repos/builtin/packages/py-ipython-genutils/package.py b/var/spack/repos/builtin/packages/py-ipython-genutils/package.py
index b6a5d66085..11b3876263 100644
--- a/var/spack/repos/builtin/packages/py-ipython-genutils/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython-genutils/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyIpythonGenutils(PythonPackage):
"""Vestigial utilities from IPython"""
- homepage = "https://pypi.python.org/pypi/ipython_genutils"
- url = "https://pypi.io/packages/source/i/ipython_genutils/ipython_genutils-0.1.0.tar.gz"
+ pypi = "ipython_genutils/ipython_genutils-0.1.0.tar.gz"
version('0.2.0', sha256='eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8')
version('0.1.0', sha256='3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6')
diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py
index 5c7daf55f5..ad67e523f0 100644
--- a/var/spack/repos/builtin/packages/py-ipython/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython/package.py
@@ -8,8 +8,7 @@ class PyIpython(PythonPackage):
"""IPython provides a rich toolkit to help you make the most out of using
Python interactively."""
- homepage = "https://pypi.python.org/pypi/ipython"
- url = "https://pypi.io/packages/source/i/ipython/ipython-7.18.1.tar.gz"
+ pypi = "ipython/ipython-7.18.1.tar.gz"
# IPython.kernel is deprecated and fails to import
import_modules = [
diff --git a/var/spack/repos/builtin/packages/py-irpf90/package.py b/var/spack/repos/builtin/packages/py-irpf90/package.py
index ffab335699..3a013fac2f 100644
--- a/var/spack/repos/builtin/packages/py-irpf90/package.py
+++ b/var/spack/repos/builtin/packages/py-irpf90/package.py
@@ -13,7 +13,7 @@ class PyIrpf90(PythonPackage):
performance computing."""
homepage = "http://irpf90.ups-tlse.fr"
- url = "https://pypi.io/packages/source/i/irpf90/irpf90-1.7.7.tar.gz"
+ pypi = "irpf90/irpf90-1.7.7.tar.gz"
maintainers = ['scemama']
diff --git a/var/spack/repos/builtin/packages/py-isodate/package.py b/var/spack/repos/builtin/packages/py-isodate/package.py
index bac6f2b44d..4a1c221aa3 100644
--- a/var/spack/repos/builtin/packages/py-isodate/package.py
+++ b/var/spack/repos/builtin/packages/py-isodate/package.py
@@ -13,7 +13,7 @@ class PyIsodate(PythonPackage):
there, then it is treated as non existent, and not as an allowed option."""
homepage = "https://github.com/gweis/isodate/"
- url = "https://pypi.io/packages/source/i/isodate/isodate-0.6.0.tar.gz"
+ pypi = "isodate/isodate-0.6.0.tar.gz"
version('0.6.0', sha256='2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8')
diff --git a/var/spack/repos/builtin/packages/py-isort/package.py b/var/spack/repos/builtin/packages/py-isort/package.py
index 612fa8c769..fdc32bde7d 100644
--- a/var/spack/repos/builtin/packages/py-isort/package.py
+++ b/var/spack/repos/builtin/packages/py-isort/package.py
@@ -10,7 +10,7 @@ class PyIsort(PythonPackage):
"""A Python utility / library to sort Python imports."""
homepage = "https://github.com/timothycrosley/isort"
- url = "https://pypi.io/packages/source/i/isort/isort-4.2.15.tar.gz"
+ pypi = "isort/isort-4.2.15.tar.gz"
version('4.3.20', sha256='c40744b6bc5162bbb39c1257fe298b7a393861d50978b565f3ccd9cb9de0182a')
version('4.2.15', sha256='79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983')
diff --git a/var/spack/repos/builtin/packages/py-itsdangerous/package.py b/var/spack/repos/builtin/packages/py-itsdangerous/package.py
index 27278a879a..34523f45fb 100644
--- a/var/spack/repos/builtin/packages/py-itsdangerous/package.py
+++ b/var/spack/repos/builtin/packages/py-itsdangerous/package.py
@@ -10,7 +10,7 @@ class PyItsdangerous(PythonPackage):
"""Various helpers to pass trusted data to untrusted environments."""
homepage = "http://github.com/mitsuhiko/itsdangerous"
- url = "https://pypi.io/packages/source/i/itsdangerous/itsdangerous-1.1.0.tar.gz"
+ pypi = "itsdangerous/itsdangerous-1.1.0.tar.gz"
version('1.1.0', sha256='321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19')
version('0.24', sha256='cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519')
diff --git a/var/spack/repos/builtin/packages/py-jaraco-functools/package.py b/var/spack/repos/builtin/packages/py-jaraco-functools/package.py
index 4b8af85094..908ddd86b8 100644
--- a/var/spack/repos/builtin/packages/py-jaraco-functools/package.py
+++ b/var/spack/repos/builtin/packages/py-jaraco-functools/package.py
@@ -10,7 +10,7 @@ class PyJaracoFunctools(PythonPackage):
"""Functools like those found in stdlib"""
homepage = "https://github.com/jaraco/jaraco.functools"
- url = "https://pypi.io/packages/source/j/jaraco.functools/jaraco.functools-2.0.tar.gz"
+ pypi = "jaraco.functools/jaraco.functools-2.0.tar.gz"
version(
'2.0', sha256='35ba944f52b1a7beee8843a5aa6752d1d5b79893eeb7770ea98be6b637bf9345')
diff --git a/var/spack/repos/builtin/packages/py-javaproperties/package.py b/var/spack/repos/builtin/packages/py-javaproperties/package.py
index 89358b1b67..b65386e2a2 100644
--- a/var/spack/repos/builtin/packages/py-javaproperties/package.py
+++ b/var/spack/repos/builtin/packages/py-javaproperties/package.py
@@ -8,7 +8,7 @@ class PyJavaproperties(PythonPackage):
"""Read & write Java .properties files."""
homepage = "https://github.com/jwodder/javaproperties"
- url = "https://pypi.io/packages/source/j/javaproperties/javaproperties-0.7.0.tar.gz"
+ pypi = "javaproperties/javaproperties-0.7.0.tar.gz"
version('0.7.0', sha256='cf45b39fcbaeced1dfc0b7f2bda16e34fc0349116269e001dada42fd2e145d87')
version('0.5.1', sha256='2b0237b054af4d24c74f54734b7d997ca040209a1820e96fb4a82625f7bd40cf')
diff --git a/var/spack/repos/builtin/packages/py-jdatetime/package.py b/var/spack/repos/builtin/packages/py-jdatetime/package.py
index 1efdc373a5..3abb8e7c79 100644
--- a/var/spack/repos/builtin/packages/py-jdatetime/package.py
+++ b/var/spack/repos/builtin/packages/py-jdatetime/package.py
@@ -10,6 +10,6 @@ class PyJdatetime(PythonPackage):
"""jdatetime is Jalali implementation of Python's datetime module"""
homepage = "https://github.com/slashmili/python-jalali"
- url = "https://pypi.io/packages/source/j/jdatetime/jdatetime-3.6.2.tar.gz"
+ pypi = "jdatetime/jdatetime-3.6.2.tar.gz"
version('3.6.2', sha256='a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67')
diff --git a/var/spack/repos/builtin/packages/py-jdcal/package.py b/var/spack/repos/builtin/packages/py-jdcal/package.py
index 06e1eba505..01c3df0534 100644
--- a/var/spack/repos/builtin/packages/py-jdcal/package.py
+++ b/var/spack/repos/builtin/packages/py-jdcal/package.py
@@ -10,7 +10,7 @@ class PyJdcal(PythonPackage):
"""Julian dates from proleptic Gregorian and Julian calendars"""
homepage = "http://github.com/phn/jdcal"
- url = "https://pypi.io/packages/source/j/jdcal/jdcal-1.3.tar.gz"
+ pypi = "jdcal/jdcal-1.3.tar.gz"
version('1.3', sha256='b760160f8dc8cc51d17875c6b663fafe64be699e10ce34b6a95184b5aa0fdc9e')
version('1.2', sha256='5ebedb58b95ebabd30f56abef65139c6f69ec1687cf1d2f3a7c503f9a2cdfa4d')
diff --git a/var/spack/repos/builtin/packages/py-jedi/package.py b/var/spack/repos/builtin/packages/py-jedi/package.py
index 07a25a3e8a..7b2d0b3776 100644
--- a/var/spack/repos/builtin/packages/py-jedi/package.py
+++ b/var/spack/repos/builtin/packages/py-jedi/package.py
@@ -10,7 +10,7 @@ class PyJedi(PythonPackage):
"""An autocompletion tool for Python that can be used for text editors."""
homepage = "https://github.com/davidhalter/jedi"
- url = "https://pypi.io/packages/source/j/jedi/jedi-0.9.0.tar.gz"
+ pypi = "jedi/jedi-0.9.0.tar.gz"
version('0.13.3', sha256='2bb0603e3506f708e792c7f4ad8fc2a7a9d9c2d292a358fbbd58da531695595b')
# unfortunately pypi.io only offers a .whl for 0.10.0
diff --git a/var/spack/repos/builtin/packages/py-jeepney/package.py b/var/spack/repos/builtin/packages/py-jeepney/package.py
index c44cc4c3d5..9c0c242c0c 100644
--- a/var/spack/repos/builtin/packages/py-jeepney/package.py
+++ b/var/spack/repos/builtin/packages/py-jeepney/package.py
@@ -8,7 +8,7 @@ class PyJeepney(PythonPackage):
"""Low-level, pure Python DBus protocol wrapper."""
homepage = "https://gitlab.com/takluyver/jeepney"
- url = "https://pypi.io/packages/source/j/jeepney/jeepney-0.4.3.tar.gz"
+ pypi = "jeepney/jeepney-0.4.3.tar.gz"
version('0.4.3', sha256='3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e')
diff --git a/var/spack/repos/builtin/packages/py-jellyfish/package.py b/var/spack/repos/builtin/packages/py-jellyfish/package.py
index 6316162289..031ab4ab65 100644
--- a/var/spack/repos/builtin/packages/py-jellyfish/package.py
+++ b/var/spack/repos/builtin/packages/py-jellyfish/package.py
@@ -10,8 +10,7 @@ from spack import *
class PyJellyfish(PythonPackage):
"""a library for doing approximate and phonetic matching of strings."""
- homepage = "https://pypi.org/project/jellyfish/"
- url = "https://pypi.io/packages/source/j/jellyfish/jellyfish-0.6.1.tar.gz"
+ pypi = "jellyfish/jellyfish-0.6.1.tar.gz"
version('0.6.1', sha256='5104e45a2b804b48a46a92a5e6d6e86830fe60ae83b1da32c867402c8f4c2094')
version('0.5.6', sha256='887a9a49d0caee913a883c3e7eb185f6260ebe2137562365be422d1316bd39c9')
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 4210fecc52..72bd2ea68e 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -12,7 +12,7 @@ class PyJinja2(PythonPackage):
and an optional sandboxed environment."""
homepage = "https://palletsprojects.com/p/jinja/"
- url = "https://pypi.io/packages/source/J/Jinja2/Jinja2-2.10.3.tar.gz"
+ pypi = "Jinja2/Jinja2-2.10.3.tar.gz"
version('2.10.3', sha256='9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de')
version('2.10.1', sha256='065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013')
diff --git a/var/spack/repos/builtin/packages/py-jmespath/package.py b/var/spack/repos/builtin/packages/py-jmespath/package.py
index f339adce11..4de7e7fa64 100644
--- a/var/spack/repos/builtin/packages/py-jmespath/package.py
+++ b/var/spack/repos/builtin/packages/py-jmespath/package.py
@@ -10,7 +10,7 @@ class PyJmespath(PythonPackage):
"""JSON Matching Expressions."""
homepage = "https://github.com/jmespath/jmespath.py"
- url = "https://pypi.io/packages/source/j/jmespath/jmespath-0.9.4.tar.gz"
+ pypi = "jmespath/jmespath-0.9.4.tar.gz"
version('0.9.4', sha256='bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c')
diff --git a/var/spack/repos/builtin/packages/py-joblib/package.py b/var/spack/repos/builtin/packages/py-joblib/package.py
index 49b6dab6b1..725c4e1a35 100644
--- a/var/spack/repos/builtin/packages/py-joblib/package.py
+++ b/var/spack/repos/builtin/packages/py-joblib/package.py
@@ -10,7 +10,7 @@ class PyJoblib(PythonPackage):
"""Python function as pipeline jobs"""
homepage = "http://packages.python.org/joblib/"
- url = "https://pypi.io/packages/source/j/joblib/joblib-0.14.0.tar.gz"
+ pypi = "joblib/joblib-0.14.0.tar.gz"
import_modules = [
'joblib', 'joblib.externals', 'joblib.externals.cloudpickle',
diff --git a/var/spack/repos/builtin/packages/py-jplephem/package.py b/var/spack/repos/builtin/packages/py-jplephem/package.py
index fb4456d800..3eec50e3ba 100644
--- a/var/spack/repos/builtin/packages/py-jplephem/package.py
+++ b/var/spack/repos/builtin/packages/py-jplephem/package.py
@@ -11,8 +11,7 @@ class PyJplephem(PythonPackage):
ephemeris for predicting the position and velocity of a planet or other
Solar System body."""
- homepage = "https://pypi.org/project/jplephem/"
- url = "https://pypi.io/packages/source/j/jplephem/jplephem-2.9.tar.gz"
+ pypi = "jplephem/jplephem-2.9.tar.gz"
version('2.9', sha256='9dffb9f3d3f6d996ade875102431fe385e8ea422da25c8ba17b0508d9ca1282b')
diff --git a/var/spack/repos/builtin/packages/py-jprops/package.py b/var/spack/repos/builtin/packages/py-jprops/package.py
index 2e6749077f..bac6e0d875 100644
--- a/var/spack/repos/builtin/packages/py-jprops/package.py
+++ b/var/spack/repos/builtin/packages/py-jprops/package.py
@@ -10,7 +10,7 @@ class PyJprops(PythonPackage):
"""Java properties file parser for Python"""
homepage = "https://github.com/mgood/jprops/"
- url = "https://pypi.io/packages/source/j/jprops/jprops-2.0.2.tar.gz"
+ pypi = "jprops/jprops-2.0.2.tar.gz"
version('2.0.2', sha256='d297231833b6cd0a3f982a48fe148a7f9817f2895661743d166b267e4d3d5b2c')
diff --git a/var/spack/repos/builtin/packages/py-jpype1/package.py b/var/spack/repos/builtin/packages/py-jpype1/package.py
index 4a27b24018..5ab9162edd 100644
--- a/var/spack/repos/builtin/packages/py-jpype1/package.py
+++ b/var/spack/repos/builtin/packages/py-jpype1/package.py
@@ -11,7 +11,7 @@ class PyJpype1(PythonPackage):
libraries."""
homepage = "https://github.com/originell/jpype"
- url = "https://pypi.io/packages/source/J/JPype1/JPype1-0.6.2.tar.gz"
+ pypi = "JPype1/JPype1-0.6.2.tar.gz"
version('0.6.3', sha256='6841523631874a731e1f94e1b1f130686ad3772030eaa3b6946256eeb1d10dd1')
version('0.6.2', sha256='99206412d80b9d5a81a7cc205267ca63554403eb57f13420302e2f39bfad7f25')
diff --git a/var/spack/repos/builtin/packages/py-jsmin/package.py b/var/spack/repos/builtin/packages/py-jsmin/package.py
index b0ace422ee..a6cc00b0bb 100644
--- a/var/spack/repos/builtin/packages/py-jsmin/package.py
+++ b/var/spack/repos/builtin/packages/py-jsmin/package.py
@@ -8,7 +8,7 @@ class PyJsmin(PythonPackage):
"""JavaScript minifier."""
homepage = "https://github.com/tikitu/jsmin/"
- url = "https://pypi.io/packages/source/j/jsmin/jsmin-2.2.2.tar.gz"
+ pypi = "jsmin/jsmin-2.2.2.tar.gz"
version('2.2.2', sha256='b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b')
diff --git a/var/spack/repos/builtin/packages/py-json5/package.py b/var/spack/repos/builtin/packages/py-json5/package.py
index b204b3016e..c1ada6e127 100644
--- a/var/spack/repos/builtin/packages/py-json5/package.py
+++ b/var/spack/repos/builtin/packages/py-json5/package.py
@@ -12,7 +12,7 @@ class PyJson5(PythonPackage):
include some productions from ECMAScript 5.1."""
homepage = "https://github.com/dpranke/pyjson5"
- url = "https://pypi.io/packages/source/j/json5/json5-0.9.4.tar.gz"
+ pypi = "json5/json5-0.9.4.tar.gz"
version('0.9.4', sha256='2ebfad1cd502dca6aecab5b5c36a21c732c3461ddbc412fb0e9a52b07ddfe586')
diff --git a/var/spack/repos/builtin/packages/py-jsondiff/package.py b/var/spack/repos/builtin/packages/py-jsondiff/package.py
index a6bad6fa93..7740ace2d5 100644
--- a/var/spack/repos/builtin/packages/py-jsondiff/package.py
+++ b/var/spack/repos/builtin/packages/py-jsondiff/package.py
@@ -8,7 +8,7 @@ class PyJsondiff(PythonPackage):
"""Diff JSON and JSON-like structures in Python."""
homepage = "https://github.com/ZoomerAnalytics/jsondiff"
- url = "https://pypi.io/packages/source/j/jsondiff/jsondiff-1.2.0.tar.gz"
+ pypi = "jsondiff/jsondiff-1.2.0.tar.gz"
version('1.2.0', sha256='34941bc431d10aa15828afe1cbb644977a114e75eef6cc74fb58951312326303')
diff --git a/var/spack/repos/builtin/packages/py-jsonpatch/package.py b/var/spack/repos/builtin/packages/py-jsonpatch/package.py
index eab7421ffb..70ce2a5823 100644
--- a/var/spack/repos/builtin/packages/py-jsonpatch/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpatch/package.py
@@ -10,7 +10,7 @@ class PyJsonpatch(PythonPackage):
"""Library to apply JSON Patches according to RFC 6902"""
homepage = "https://github.com/stefankoegl/python-json-patch"
- url = "https://pypi.io/packages/source/j/jsonpatch/jsonpatch-1.23.tar.gz"
+ pypi = "jsonpatch/jsonpatch-1.23.tar.gz"
version('1.23', sha256='49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9')
diff --git a/var/spack/repos/builtin/packages/py-jsonpickle/package.py b/var/spack/repos/builtin/packages/py-jsonpickle/package.py
index 7bc9aeda58..7d474e7f85 100644
--- a/var/spack/repos/builtin/packages/py-jsonpickle/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpickle/package.py
@@ -8,7 +8,7 @@ class PyJsonpickle(PythonPackage):
"""Python library for serializing any arbitrary object graph into JSON."""
homepage = "https://github.com/jsonpickle/jsonpickle"
- url = "https://pypi.io/packages/source/j/jsonpickle/jsonpickle-1.4.1.tar.gz"
+ pypi = "jsonpickle/jsonpickle-1.4.1.tar.gz"
version('1.4.1', sha256='e8d4b7cd0bd6826001a74377df1079a76ad8bae0f909282de2554164c837c8ba')
diff --git a/var/spack/repos/builtin/packages/py-jsonpointer/package.py b/var/spack/repos/builtin/packages/py-jsonpointer/package.py
index a9307fd3f6..1fa2e57e93 100644
--- a/var/spack/repos/builtin/packages/py-jsonpointer/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpointer/package.py
@@ -10,7 +10,7 @@ class PyJsonpointer(PythonPackage):
"""Library to resolve JSON Pointers according to RFC 6901"""
homepage = "https://github.com/stefankoegl/python-json-pointer"
- url = "https://pypi.io/packages/source/j/jsonpointer/jsonpointer-2.0.tar.gz"
+ pypi = "jsonpointer/jsonpointer-2.0.tar.gz"
version('2.0', sha256='c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362')
diff --git a/var/spack/repos/builtin/packages/py-jsonref/package.py b/var/spack/repos/builtin/packages/py-jsonref/package.py
index 405d2155d7..dd9898a5ad 100644
--- a/var/spack/repos/builtin/packages/py-jsonref/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonref/package.py
@@ -10,7 +10,7 @@ class PyJsonref(PythonPackage):
"""An implementation of JSON Reference for Python"""
homepage = "https://github.com/gazpachoking/jsonref"
- url = "https://pypi.io/packages/source/j/jsonref/jsonref-0.2.tar.gz"
+ pypi = "jsonref/jsonref-0.2.tar.gz"
version('0.2', sha256='f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697')
diff --git a/var/spack/repos/builtin/packages/py-jsonschema/package.py b/var/spack/repos/builtin/packages/py-jsonschema/package.py
index c33cfc63e4..7f760cf589 100644
--- a/var/spack/repos/builtin/packages/py-jsonschema/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonschema/package.py
@@ -10,7 +10,7 @@ class PyJsonschema(PythonPackage):
"""Jsonschema: An(other) implementation of JSON Schema for Python."""
homepage = "http://github.com/Julian/jsonschema"
- url = "https://pypi.io/packages/source/j/jsonschema/jsonschema-3.2.0.tar.gz"
+ pypi = "jsonschema/jsonschema-3.2.0.tar.gz"
version('3.2.0', sha256='c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a')
version('3.1.1', sha256='2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f')
diff --git a/var/spack/repos/builtin/packages/py-junit-xml/package.py b/var/spack/repos/builtin/packages/py-junit-xml/package.py
index 7d59fe205c..2140ae2ef5 100644
--- a/var/spack/repos/builtin/packages/py-junit-xml/package.py
+++ b/var/spack/repos/builtin/packages/py-junit-xml/package.py
@@ -11,7 +11,7 @@ class PyJunitXml(PythonPackage):
such as Jenkins"""
homepage = "https://github.com/kyrus/python-junit-xml"
- url = "https://pypi.io/packages/source/j/junit-xml/junit-xml-1.7.tar.gz"
+ pypi = "junit-xml/junit-xml-1.7.tar.gz"
version('1.7', sha256='5bc851b53e3e2153dcc62278ce2aa796a8ae9208f1dec36d1507b5af445ce355')
diff --git a/var/spack/repos/builtin/packages/py-jupyter-client/package.py b/var/spack/repos/builtin/packages/py-jupyter-client/package.py
index d14077195b..de1d50093d 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-client/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-client/package.py
@@ -8,7 +8,7 @@ class PyJupyterClient(PythonPackage):
"""Jupyter protocol client APIs"""
homepage = "https://github.com/jupyter/jupyter_client"
- url = "https://pypi.io/packages/source/j/jupyter-client/jupyter_client-6.1.7.tar.gz"
+ pypi = "jupyter-client/jupyter_client-6.1.7.tar.gz"
version('6.1.7', sha256='49e390b36fe4b4226724704ea28d9fb903f1a3601b6882ce3105221cd09377a1')
version('5.3.4', sha256='60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910')
diff --git a/var/spack/repos/builtin/packages/py-jupyter-core/package.py b/var/spack/repos/builtin/packages/py-jupyter-core/package.py
index 42adbc81b4..3334d3549e 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-core/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-core/package.py
@@ -10,7 +10,7 @@ class PyJupyterCore(PythonPackage):
"""Core Jupyter functionality"""
homepage = "http://jupyter-core.readthedocs.io/"
- url = "https://pypi.io/packages/source/j/jupyter-core/jupyter_core-4.6.0.tar.gz"
+ pypi = "jupyter-core/jupyter_core-4.6.0.tar.gz"
version('4.6.3', sha256='394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e')
version('4.6.1', sha256='a183e0ec2e8f6adddf62b0a3fc6a2237e3e0056d381e536d3e7c7ecc3067e244')
diff --git a/var/spack/repos/builtin/packages/py-jupyter/package.py b/var/spack/repos/builtin/packages/py-jupyter/package.py
index 4c6f0d9a07..49d0f1618c 100644
--- a/var/spack/repos/builtin/packages/py-jupyter/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter/package.py
@@ -10,7 +10,7 @@ class PyJupyter(PythonPackage):
"""Jupyter metapackage. Install all the Jupyter components in one go."""
homepage = "https://jupyter.org/"
- url = "https://pypi.io/packages/source/j/jupyter/jupyter-1.0.0.tar.gz"
+ pypi = "jupyter/jupyter-1.0.0.tar.gz"
version('1.0.0', sha256='d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f')
diff --git a/var/spack/repos/builtin/packages/py-jupyterhub/package.py b/var/spack/repos/builtin/packages/py-jupyterhub/package.py
index 3e95b7496f..3c22be16e3 100644
--- a/var/spack/repos/builtin/packages/py-jupyterhub/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterhub/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyJupyterhub(PythonPackage):
"""Multi-user server for Jupyter notebooks."""
- homepage = "https://pypi.org/project/jupyterhub"
- url = "https://pypi.io/packages/source/j/jupyterhub/jupyterhub-1.0.0.tar.gz"
+ pypi = "jupyterhub/jupyterhub-1.0.0.tar.gz"
version('1.0.0', sha256='33541a515a041b9a518ca057c1c4ab4215a7450fdddc206401713ee8137fa67f')
version('0.9.4', sha256='7848bbb299536641a59eb1977ec3c7c95d931bace4a2803d7e9b28b9256714da')
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py
index fc4bf5f6d4..4b477a1ada 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py
@@ -8,7 +8,7 @@ class PyJupyterlabPygments(PythonPackage):
"""Pygments theme using JupyterLab CSS variables."""
homepage = "https://jupyter.org/"
- url = "https://pypi.io/packages/source/j/jupyterlab-pygments/jupyterlab_pygments-0.1.1.tar.gz"
+ pypi = "jupyterlab-pygments/jupyterlab_pygments-0.1.1.tar.gz"
version('0.1.1', sha256='19a0ccde7daddec638363cd3d60b63a4f6544c9181d65253317b2fb492a797b9')
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
index 16098d58bf..36270c8022 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
@@ -8,8 +8,7 @@ class PyJupyterlabServer(PythonPackage):
"""A set of server components for JupyterLab and JupyterLab
like applications"""
- homepage = "https://pypi.org/project/jupyterlab-server/"
- url = "https://pypi.io/packages/source/j/jupyterlab_server/jupyterlab_server-1.2.0.tar.gz"
+ pypi = "jupyterlab_server/jupyterlab_server-1.2.0.tar.gz"
version('1.2.0', sha256='5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c')
version('1.1.0', sha256='bac27e2ea40f686e592d6429877e7d46947ea76c08c878081b028c2c89f71733')
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab/package.py b/var/spack/repos/builtin/packages/py-jupyterlab/package.py
index 1f3a460cd3..23f55bed82 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab/package.py
@@ -9,7 +9,7 @@ class PyJupyterlab(PythonPackage):
for Project Jupyter."""
homepage = "https://jupyterlab.readthedocs.io/"
- url = "https://pypi.io/packages/source/j/jupyterlab/jupyterlab-2.2.7.tar.gz"
+ pypi = "jupyterlab/jupyterlab-2.2.7.tar.gz"
version('2.2.7', sha256='a72ffd0d919cba03a5ef8422bc92c3332a957ff97b0490494209c83ad93826da')
version('2.1.0', sha256='8c239aababf5baa0b3d36e375fddeb9fd96f3a9a24a8cda098d6a414f5bbdc81')
diff --git a/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py b/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
index 5129e92201..ed974af1d5 100644
--- a/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
+++ b/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
@@ -10,7 +10,7 @@ class PyKerasPreprocessing(PythonPackage):
"""Utilities for working with image data, text data, and sequence data."""
homepage = "https://github.com/keras-team/keras-preprocessing"
- url = "https://pypi.io/packages/source/K/Keras-Preprocessing/Keras_Preprocessing-1.1.2.tar.gz"
+ pypi = "Keras-Preprocessing/Keras_Preprocessing-1.1.2.tar.gz"
version('1.1.2', sha256='add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3')
version('1.1.0', sha256='5a8debe01d840de93d49e05ccf1c9b81ae30e210d34dacbcc47aeb3049b528e5')
diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py
index fc9eeaa8a4..0b02c0475c 100644
--- a/var/spack/repos/builtin/packages/py-keras/package.py
+++ b/var/spack/repos/builtin/packages/py-keras/package.py
@@ -11,7 +11,7 @@ class PyKeras(PythonPackage):
and more. Runs on Theano or TensorFlow."""
homepage = "http://keras.io"
- url = "https://pypi.io/packages/source/K/Keras/Keras-1.2.2.tar.gz"
+ pypi = "Keras/Keras-1.2.2.tar.gz"
version('2.2.4', sha256='90b610a3dbbf6d257b20a079eba3fdf2eed2158f64066a7c6f7227023fd60bc9')
version('2.2.3', sha256='694aee60a6f8e0d3d6d3e4967e063b4623e3ca90032f023fd6d16bb5f81d18de')
diff --git a/var/spack/repos/builtin/packages/py-kerberos/package.py b/var/spack/repos/builtin/packages/py-kerberos/package.py
index 74cbc56a4c..22a6f4cda8 100644
--- a/var/spack/repos/builtin/packages/py-kerberos/package.py
+++ b/var/spack/repos/builtin/packages/py-kerberos/package.py
@@ -13,7 +13,7 @@ class PyKerberos(PythonPackage):
<http://www.ietf.org/rfc/rfc4559.txt>."""
homepage = "https://github.com/apple/ccs-pykerberos"
- url = "https://pypi.io/packages/source/k/kerberos/kerberos-1.3.0.tar.gz"
+ pypi = "kerberos/kerberos-1.3.0.tar.gz"
version('1.3.0', sha256='f039b7dd4746df56f6102097b3dc250fe0078be75130b9dc4211a85a3b1ec6a4')
diff --git a/var/spack/repos/builtin/packages/py-kitchen/package.py b/var/spack/repos/builtin/packages/py-kitchen/package.py
index 0e8683d5d8..135a870dd6 100644
--- a/var/spack/repos/builtin/packages/py-kitchen/package.py
+++ b/var/spack/repos/builtin/packages/py-kitchen/package.py
@@ -11,7 +11,7 @@ class PyKitchen(PythonPackage):
"""
homepage = "https://fedorahosted.org/kitchen"
- url = "https://pypi.io/packages/source/k/kitchen/kitchen-1.2.6.tar.gz"
+ pypi = "kitchen/kitchen-1.2.6.tar.gz"
version('1.2.6', sha256='b84cf582f1bd1556b60ebc7370b9d331eb9247b6b070ce89dfe959cba2c0b03c')
version('1.1.1', sha256='25670f80bcbabd0656946125cfad310980d5a5900d6c160d4f0187292120284e')
diff --git a/var/spack/repos/builtin/packages/py-kiwisolver/package.py b/var/spack/repos/builtin/packages/py-kiwisolver/package.py
index ebf05e6702..99cf0c234a 100644
--- a/var/spack/repos/builtin/packages/py-kiwisolver/package.py
+++ b/var/spack/repos/builtin/packages/py-kiwisolver/package.py
@@ -10,7 +10,7 @@ class PyKiwisolver(PythonPackage):
"""A fast implementation of the Cassowary constraint solver"""
homepage = "https://github.com/nucleic/kiwi"
- url = "https://pypi.io/packages/source/k/kiwisolver/kiwisolver-1.1.0.tar.gz"
+ pypi = "kiwisolver/kiwisolver-1.1.0.tar.gz"
version('1.1.0', sha256='53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75')
version('1.0.1', sha256='ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278')
diff --git a/var/spack/repos/builtin/packages/py-kmodes/package.py b/var/spack/repos/builtin/packages/py-kmodes/package.py
index e3c348a3b9..5b7348ea96 100644
--- a/var/spack/repos/builtin/packages/py-kmodes/package.py
+++ b/var/spack/repos/builtin/packages/py-kmodes/package.py
@@ -11,7 +11,7 @@ class PyKmodes(PythonPackage):
algorithms for clustering categorical data."""
homepage = "https://github.com/nicodv/kmodes"
- url = "https://pypi.io/packages/source/k/kmodes/kmodes-0.10.1.tar.gz"
+ pypi = "kmodes/kmodes-0.10.1.tar.gz"
version('0.10.1', sha256='3222c2f672a6356be353955c02d1e38472d9f6074744b4ffb0c058e8c2235ea1')
diff --git a/var/spack/repos/builtin/packages/py-knack/package.py b/var/spack/repos/builtin/packages/py-knack/package.py
index 4fb7ce188f..f9ce9c01ca 100644
--- a/var/spack/repos/builtin/packages/py-knack/package.py
+++ b/var/spack/repos/builtin/packages/py-knack/package.py
@@ -8,7 +8,7 @@ class PyKnack(PythonPackage):
"""A Command-Line Interface framework."""
homepage = "https://github.com/microsoft/knack"
- url = "https://pypi.io/packages/source/k/knack/knack-0.7.1.tar.gz"
+ pypi = "knack/knack-0.7.1.tar.gz"
version('0.7.1', sha256='fcef6040164ebe7d69629e4e089b398c9b980791446496301befcf8381dba0fc')
diff --git a/var/spack/repos/builtin/packages/py-kombu/package.py b/var/spack/repos/builtin/packages/py-kombu/package.py
index a4d3af4019..d5d48a4f61 100644
--- a/var/spack/repos/builtin/packages/py-kombu/package.py
+++ b/var/spack/repos/builtin/packages/py-kombu/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyKombu(PythonPackage):
"""Messaging library for Python."""
- homepage = "https://pypi.org/project/kombu/"
- url = "https://pypi.io/packages/source/k/kombu/kombu-4.3.0.tar.gz"
+ pypi = "kombu/kombu-4.3.0.tar.gz"
version('5.0.2', sha256='f4965fba0a4718d47d470beeb5d6446e3357a62402b16c510b6a2f251e05ac3c')
version('4.6.11', sha256='ca1b45faac8c0b18493d02a8571792f3c40291cf2bcf1f55afed3d8f3aa7ba74')
diff --git a/var/spack/repos/builtin/packages/py-lark-parser/package.py b/var/spack/repos/builtin/packages/py-lark-parser/package.py
index d84e320f1f..8b07882250 100644
--- a/var/spack/repos/builtin/packages/py-lark-parser/package.py
+++ b/var/spack/repos/builtin/packages/py-lark-parser/package.py
@@ -10,7 +10,7 @@ class PyLarkParser(PythonPackage):
"""Lark is a modern general-purpose parsing library for Python."""
homepage = "https://github.com/lark-parser/lark/"
- url = "https://pypi.io/packages/source/l/lark-parser/lark-parser-0.6.2.tar.gz"
+ pypi = "lark-parser/lark-parser-0.6.2.tar.gz"
version('0.7.1', sha256='8455e05d062fa7f9d59a2735583cf02291545f944955c4056bf1144c4e625344')
version('0.6.2', sha256='7e2934371e0e3a5daf9afc2e3ddda76117cabcd3c3f2edf7987c1e4e9b9e503c')
diff --git a/var/spack/repos/builtin/packages/py-latexcodec/package.py b/var/spack/repos/builtin/packages/py-latexcodec/package.py
index 9df819d09b..bfb15a6bd8 100644
--- a/var/spack/repos/builtin/packages/py-latexcodec/package.py
+++ b/var/spack/repos/builtin/packages/py-latexcodec/package.py
@@ -10,7 +10,7 @@ class PyLatexcodec(PythonPackage):
"""A lexer and codec to work with LaTeX code in Python."""
homepage = "http://latexcodec.readthedocs.io"
- url = "https://pypi.io/packages/source/l/latexcodec/latexcodec-1.0.4.tar.gz"
+ pypi = "latexcodec/latexcodec-1.0.4.tar.gz"
version('1.0.4', sha256='62bf8a3ee298f169a4d014dad5522bc1325b54dc98789a453fd338620387cb6c')
diff --git a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
index 36cac03c58..0e4b715729 100644
--- a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
+++ b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
@@ -10,7 +10,7 @@ class PyLazyObjectProxy(PythonPackage):
"""A fast and thorough lazy object proxy."""
homepage = "https://github.com/ionelmc/python-lazy-object-proxy"
- url = "https://pypi.io/packages/source/l/lazy-object-proxy/lazy-object-proxy-1.3.1.tar.gz"
+ pypi = "lazy-object-proxy/lazy-object-proxy-1.3.1.tar.gz"
version('1.4.3', sha256='f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0')
version('1.3.1', sha256='eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a')
diff --git a/var/spack/repos/builtin/packages/py-lazy/package.py b/var/spack/repos/builtin/packages/py-lazy/package.py
index d8f2a46022..cab64736ad 100644
--- a/var/spack/repos/builtin/packages/py-lazy/package.py
+++ b/var/spack/repos/builtin/packages/py-lazy/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyLazy(PythonPackage):
"""Lazy attributes for Python objects"""
- homepage = "https://pypi.python.org/pypi/lazy"
- url = "https://pypi.io/packages/source/l/lazy/lazy-1.2.zip"
+ pypi = "lazy/lazy-1.2.zip"
version('1.2', sha256='127ea610418057b953f0d102bed83f2c367be13b59f8d0ddf3b8a86c7d31b970')
diff --git a/var/spack/repos/builtin/packages/py-lazyarray/package.py b/var/spack/repos/builtin/packages/py-lazyarray/package.py
index cc9e68f8f3..a02144cace 100644
--- a/var/spack/repos/builtin/packages/py-lazyarray/package.py
+++ b/var/spack/repos/builtin/packages/py-lazyarray/package.py
@@ -11,7 +11,7 @@ class PyLazyarray(PythonPackage):
larray, based on and compatible with NumPy arrays."""
homepage = "http://bitbucket.org/apdavison/lazyarray/"
- url = "https://pypi.io/packages/source/l/lazyarray/lazyarray-0.2.8.tar.gz"
+ pypi = "lazyarray/lazyarray-0.2.8.tar.gz"
version('0.2.10', sha256='7a53f81b5f3a098c04003d2ad179fc197451fd96bc921510f8534c6af8cc8e19')
version('0.2.8', sha256='aaee4e18117cc512de7a4e64522f37bc6f4bf125ecffdbdbf4e4e390fbdd9ba2')
diff --git a/var/spack/repos/builtin/packages/py-leather/package.py b/var/spack/repos/builtin/packages/py-leather/package.py
index 96aecebd96..92d74f1c2e 100644
--- a/var/spack/repos/builtin/packages/py-leather/package.py
+++ b/var/spack/repos/builtin/packages/py-leather/package.py
@@ -11,7 +11,7 @@ class PyLeather(PythonPackage):
don't care if they're perfect."""
homepage = "https://leather.readthedocs.io/en/stable/"
- url = "https://pypi.io/packages/source/l/leather/leather-0.3.3.tar.gz"
+ pypi = "leather/leather-0.3.3.tar.gz"
version('0.3.3', sha256='076d1603b5281488285718ce1a5ce78cf1027fe1e76adf9c548caf83c519b988')
diff --git a/var/spack/repos/builtin/packages/py-libconf/package.py b/var/spack/repos/builtin/packages/py-libconf/package.py
index 4cfeb251da..b8e543757c 100644
--- a/var/spack/repos/builtin/packages/py-libconf/package.py
+++ b/var/spack/repos/builtin/packages/py-libconf/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyLibconf(PythonPackage):
"""A pure-Python libconfig reader/writer with permissive license"""
- homepage = "https://pypi.python.org/pypi/libconf"
- url = "https://pypi.io/packages/source/l/libconf/libconf-1.0.1.tar.gz"
+ pypi = "libconf/libconf-1.0.1.tar.gz"
version('1.0.1', sha256='6dd62847bb69ab5a09155cb8be2328cce01e7ef88a35e7c37bea2b1a70f8bd58')
diff --git a/var/spack/repos/builtin/packages/py-libensemble/package.py b/var/spack/repos/builtin/packages/py-libensemble/package.py
index a545d18200..8ba60b9a87 100644
--- a/var/spack/repos/builtin/packages/py-libensemble/package.py
+++ b/var/spack/repos/builtin/packages/py-libensemble/package.py
@@ -11,7 +11,7 @@ class PyLibensemble(PythonPackage):
"""Library for managing ensemble-like collections of computations."""
homepage = "https://libensemble.readthedocs.io"
- url = "https://pypi.io/packages/source/l/libensemble/libensemble-0.7.1.tar.gz"
+ pypi = "libensemble/libensemble-0.7.1.tar.gz"
git = "https://github.com/Libensemble/libensemble.git"
version('develop', branch='develop')
diff --git a/var/spack/repos/builtin/packages/py-librosa/package.py b/var/spack/repos/builtin/packages/py-librosa/package.py
index c720c12e63..34c840290e 100644
--- a/var/spack/repos/builtin/packages/py-librosa/package.py
+++ b/var/spack/repos/builtin/packages/py-librosa/package.py
@@ -10,7 +10,7 @@ class PyLibrosa(PythonPackage):
"""A python package for music and audio analysis."""
homepage = "http://github.com/librosa/librosa"
- url = "https://pypi.io/packages/source/l/librosa/librosa-0.7.2.tar.gz"
+ pypi = "librosa/librosa-0.7.2.tar.gz"
version('0.7.2', sha256='656bbda80e98e6330db1ead79cd084b13a762284834d7603fcf7cf7c0dc65f3c')
diff --git a/var/spack/repos/builtin/packages/py-lifelines/package.py b/var/spack/repos/builtin/packages/py-lifelines/package.py
index ddbe26a06e..b4990c1fff 100644
--- a/var/spack/repos/builtin/packages/py-lifelines/package.py
+++ b/var/spack/repos/builtin/packages/py-lifelines/package.py
@@ -13,7 +13,7 @@ class PyLifelines(PythonPackage):
parts of survival analysis."""
homepage = "https://github.com/CamDavidsonPilon/lifelines"
- url = "https://pypi.io/packages/source/l/lifelines/lifelines-0.25.5.tar.gz"
+ pypi = "lifelines/lifelines-0.25.5.tar.gz"
version('0.25.5', sha256='f24260aa371829354440dfc2c1be8d59d9e841cce7a933230213cecd67787b89')
version('0.9.4', sha256='0f19a8b18ace80c231de60487b2b1a3de3eb418445c6a6d0d72c1110d860f676')
diff --git a/var/spack/repos/builtin/packages/py-ligo-segments/package.py b/var/spack/repos/builtin/packages/py-ligo-segments/package.py
index aacb0affc5..a2d8a85bd4 100644
--- a/var/spack/repos/builtin/packages/py-ligo-segments/package.py
+++ b/var/spack/repos/builtin/packages/py-ligo-segments/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyLigoSegments(PythonPackage):
"""Representations of semi-open intervals."""
- homepage = "https://pypi.org/project/ligo-segments/"
- url = "https://pypi.io/packages/source/l/ligo-segments/ligo-segments-1.2.0.tar.gz"
+ pypi = "ligo-segments/ligo-segments-1.2.0.tar.gz"
version('1.2.0', sha256='5edbcb88cae007c4e154a61cb2c9d0a6d6d4016c1ecaf0a59a667a267bd20e7a')
diff --git a/var/spack/repos/builtin/packages/py-line-profiler/package.py b/var/spack/repos/builtin/packages/py-line-profiler/package.py
index c252dca53f..1e5c3cca70 100644
--- a/var/spack/repos/builtin/packages/py-line-profiler/package.py
+++ b/var/spack/repos/builtin/packages/py-line-profiler/package.py
@@ -12,7 +12,7 @@ class PyLineProfiler(PythonPackage):
"""Line-by-line profiler."""
homepage = "https://github.com/rkern/line_profiler"
- url = "https://pypi.io/packages/source/l/line_profiler/line_profiler-2.0.tar.gz"
+ pypi = "line_profiler/line_profiler-2.0.tar.gz"
version('2.1.2', sha256='efa66e9e3045aa7cb1dd4bf0106e07dec9f80bc781a993fbaf8162a36c20af5c')
version('2.0', sha256='739f8ad0e4bcd0cb82e99afc09e00a0351234f6b3f0b1f7f0090a8a2fbbf8381')
diff --git a/var/spack/repos/builtin/packages/py-linecache2/package.py b/var/spack/repos/builtin/packages/py-linecache2/package.py
index 7e23622206..09ef821e02 100644
--- a/var/spack/repos/builtin/packages/py-linecache2/package.py
+++ b/var/spack/repos/builtin/packages/py-linecache2/package.py
@@ -10,7 +10,7 @@ class PyLinecache2(PythonPackage):
"""Backports of the linecache module"""
homepage = "https://github.com/testing-cabal/linecache2"
- url = "https://pypi.io/packages/source/l/linecache2/linecache2-1.0.0.tar.gz"
+ pypi = "linecache2/linecache2-1.0.0.tar.gz"
version('1.0.0', sha256='4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c')
diff --git a/var/spack/repos/builtin/packages/py-lit/package.py b/var/spack/repos/builtin/packages/py-lit/package.py
index b09f8cb956..12fd652402 100644
--- a/var/spack/repos/builtin/packages/py-lit/package.py
+++ b/var/spack/repos/builtin/packages/py-lit/package.py
@@ -12,8 +12,7 @@ class PyLit(PythonPackage):
designed to be a lightweight testing tool with as simple a user
interface as possible."""
- homepage = "https://pypi.python.org/pypi/lit"
- url = "https://pypi.io/packages/source/l/lit/lit-0.5.0.tar.gz"
+ pypi = "lit/lit-0.5.0.tar.gz"
version('0.7.1', sha256='ecef2833aef7f411cb923dac109c7c9dcc7dbe7cafce0650c1e8d19c243d955f')
version('0.5.0', sha256='3ea4251e78ebeb2e07be2feb33243d1f8931d956efc96ccc2b0846ced212b58c')
diff --git a/var/spack/repos/builtin/packages/py-llvmlite/package.py b/var/spack/repos/builtin/packages/py-llvmlite/package.py
index fcfcd0407e..459cc269a8 100644
--- a/var/spack/repos/builtin/packages/py-llvmlite/package.py
+++ b/var/spack/repos/builtin/packages/py-llvmlite/package.py
@@ -10,7 +10,7 @@ class PyLlvmlite(PythonPackage):
"""A lightweight LLVM python binding for writing JIT compilers"""
homepage = "http://llvmlite.readthedocs.io/en/latest/index.html"
- url = "https://pypi.io/packages/source/l/llvmlite/llvmlite-0.23.0.tar.gz"
+ pypi = "llvmlite/llvmlite-0.23.0.tar.gz"
version('0.34.0', sha256='f03ee0d19bca8f2fe922bb424a909d05c28411983b0c2bc58b020032a0d11f63')
version('0.33.0', sha256='9c8aae96f7fba10d9ac864b443d1e8c7ee4765c31569a2b201b3d0b67d8fc596')
diff --git a/var/spack/repos/builtin/packages/py-lmfit/package.py b/var/spack/repos/builtin/packages/py-lmfit/package.py
index 9f70b89aa0..4f9739ce8b 100644
--- a/var/spack/repos/builtin/packages/py-lmfit/package.py
+++ b/var/spack/repos/builtin/packages/py-lmfit/package.py
@@ -10,7 +10,7 @@ class PyLmfit(PythonPackage):
"""Least-Squares Minimization with Bounds and Constraints"""
homepage = "http://lmfit.github.io/lmfit-py/"
- url = "https://pypi.io/packages/source/l/lmfit/lmfit-0.9.5.tar.gz"
+ pypi = "lmfit/lmfit-0.9.5.tar.gz"
version('1.0.1', sha256='d249eb756899360f4d2a544c9458f47fc8f765ac22c09e099530585fd64e286e')
version('0.9.15', sha256='cd7bdf47c09a3d49f30dff9a1c7f778973d15d1e1b5dc642f14c22f6630eaf2f')
diff --git a/var/spack/repos/builtin/packages/py-lmodule/package.py b/var/spack/repos/builtin/packages/py-lmodule/package.py
index 13574e88d6..0cfcfffca6 100644
--- a/var/spack/repos/builtin/packages/py-lmodule/package.py
+++ b/var/spack/repos/builtin/packages/py-lmodule/package.py
@@ -13,7 +13,7 @@ class PyLmodule(PythonPackage):
environment-modules to interact with module using the Module class."""
homepage = "https://lmodule.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/l/lmodule/lmodule-0.1.0.tar.gz"
+ pypi = "lmodule/lmodule-0.1.0.tar.gz"
git = "https://github.com/buildtesters/lmodule"
maintainers = ['shahzebsiddiqui']
diff --git a/var/spack/repos/builtin/packages/py-localcider/package.py b/var/spack/repos/builtin/packages/py-localcider/package.py
index 7603a6045d..02243c164a 100644
--- a/var/spack/repos/builtin/packages/py-localcider/package.py
+++ b/var/spack/repos/builtin/packages/py-localcider/package.py
@@ -10,7 +10,7 @@ class PyLocalcider(PythonPackage):
"""Tools for calculating sequence properties of disordered proteins"""
homepage = "http://pappulab.github.io/localCIDER"
- url = "https://pypi.io/packages/source/l/localcider/localcider-0.1.14.tar.gz"
+ pypi = "localcider/localcider-0.1.14.tar.gz"
version('0.1.14', sha256='54ff29e8a011947cca5df79e96f3c69a76c49c4db41dcf1608663992be3e3f5f')
diff --git a/var/spack/repos/builtin/packages/py-locket/package.py b/var/spack/repos/builtin/packages/py-locket/package.py
index ed0c47e0fd..61fe95401e 100644
--- a/var/spack/repos/builtin/packages/py-locket/package.py
+++ b/var/spack/repos/builtin/packages/py-locket/package.py
@@ -10,6 +10,6 @@ class PyLocket(PythonPackage):
"""File-based locks for Python for Linux and Windows."""
homepage = "http://github.com/mwilliamson/locket.py"
- url = "https://pypi.io/packages/source/l/locket/locket-0.2.0.tar.gz"
+ pypi = "locket/locket-0.2.0.tar.gz"
version('0.2.0', sha256='1fee63c1153db602b50154684f5725564e63a0f6d09366a1cb13dffcec179fb4')
diff --git a/var/spack/repos/builtin/packages/py-lockfile/package.py b/var/spack/repos/builtin/packages/py-lockfile/package.py
index 9731208b51..4a1c4756e9 100644
--- a/var/spack/repos/builtin/packages/py-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-lockfile/package.py
@@ -17,8 +17,7 @@ class PyLockfile(PythonPackage):
SQLite is also provided, more as a demonstration of the
possibilities it provides than as production-quality code.
"""
- homepage = "https://pypi.python.org/pypi/lockfile"
- url = "https://pypi.io/packages/source/l/lockfile/lockfile-0.10.2.tar.gz"
+ pypi = "lockfile/lockfile-0.10.2.tar.gz"
version('0.10.2', sha256='9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1')
diff --git a/var/spack/repos/builtin/packages/py-logilab-common/package.py b/var/spack/repos/builtin/packages/py-logilab-common/package.py
index 8e26e028d9..7a92de58f7 100644
--- a/var/spack/repos/builtin/packages/py-logilab-common/package.py
+++ b/var/spack/repos/builtin/packages/py-logilab-common/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyLogilabCommon(PythonPackage):
"""Common modules used by Logilab projects"""
homepage = "https://www.logilab.org/project/logilab-common"
- url = "https://pypi.io/packages/source/l/logilab-common/logilab-common-1.2.0.tar.gz"
+ pypi = "logilab-common/logilab-common-1.2.0.tar.gz"
version('1.4.2', sha256='cdda9ed0deca7c68f87f7a404ad742e47aaa1ca5956d12988236a5ec3bda13a0')
version('1.2.0', sha256='d4e5cec3be3a89f06ff05e359a221e69bd1da33cb7096cad648ddcccea8465b7')
diff --git a/var/spack/repos/builtin/packages/py-lru-dict/package.py b/var/spack/repos/builtin/packages/py-lru-dict/package.py
index aa31ec491e..13f577b880 100644
--- a/var/spack/repos/builtin/packages/py-lru-dict/package.py
+++ b/var/spack/repos/builtin/packages/py-lru-dict/package.py
@@ -11,7 +11,7 @@ class PyLruDict(PythonPackage):
"""A fast LRU cache"""
homepage = "https://github.com/amitdev/lru-dict"
- url = "https://pypi.io/packages/source/l/lru-dict/lru-dict-1.1.6.tar.gz"
+ pypi = "lru-dict/lru-dict-1.1.6.tar.gz"
version('1.1.6', sha256='365457660e3d05b76f1aba3e0f7fedbfcd6528e97c5115a351ddd0db488354cc')
diff --git a/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py b/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py
index f746285d3a..eae00e78e4 100644
--- a/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py
+++ b/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py
@@ -12,7 +12,7 @@ class PyLscsoftGlue(PythonPackage):
certain metadata services, such as the LSC segment database."""
homepage = "https://www.lsc-group.phys.uwm.edu/daswg/projects/glue.html"
- url = "https://pypi.io/packages/source/l/lscsoft-glue/lscsoft-glue-2.0.0.tar.gz"
+ pypi = "lscsoft-glue/lscsoft-glue-2.0.0.tar.gz"
version('2.0.0', sha256='9bdfaebe4c921d83d1e3d1ca24379a644665e9d7530e7070665f387767c66923')
diff --git a/var/spack/repos/builtin/packages/py-luigi/package.py b/var/spack/repos/builtin/packages/py-luigi/package.py
index cfadfde68f..d6cf0a7bcd 100644
--- a/var/spack/repos/builtin/packages/py-luigi/package.py
+++ b/var/spack/repos/builtin/packages/py-luigi/package.py
@@ -10,7 +10,7 @@ class PyLuigi(PythonPackage):
"""Workflow mgmgt + task scheduling + dependency resolution"""
homepage = "https://github.com/spotify/luigi"
- url = "https://pypi.io/packages/source/l/luigi/luigi-2.8.3.tar.gz"
+ pypi = "luigi/luigi-2.8.3.tar.gz"
version('2.8.3', sha256='8b5c84a3c3f4df07309056d3b98348b93c054f1931b7ee22fc29e7989f645c9e')
diff --git a/var/spack/repos/builtin/packages/py-lxml/package.py b/var/spack/repos/builtin/packages/py-lxml/package.py
index 06cd0c0e47..b0ce4562bc 100644
--- a/var/spack/repos/builtin/packages/py-lxml/package.py
+++ b/var/spack/repos/builtin/packages/py-lxml/package.py
@@ -11,7 +11,7 @@ class PyLxml(PythonPackage):
XML and HTML in the Python language."""
homepage = "https://lxml.de/"
- url = "https://pypi.io/packages/source/l/lxml/lxml-4.6.1.tar.gz"
+ pypi = "lxml/lxml-4.6.1.tar.gz"
version('4.6.1', sha256='c152b2e93b639d1f36ec5a8ca24cde4a8eefb2b6b83668fcd8e83a67badcb367')
version('4.5.2', sha256='cdc13a1682b2a6241080745b1953719e7fe0850b40a5c71ca574f090a1391df6')
diff --git a/var/spack/repos/builtin/packages/py-lz4/package.py b/var/spack/repos/builtin/packages/py-lz4/package.py
index 656b7e0266..b50f9dbe88 100644
--- a/var/spack/repos/builtin/packages/py-lz4/package.py
+++ b/var/spack/repos/builtin/packages/py-lz4/package.py
@@ -10,7 +10,7 @@ class PyLz4(PythonPackage):
"""lz4 (compression library) bindings for Python"""
homepage = "https://github.com/python-lz4/python-lz4"
- url = "https://pypi.io/packages/source/l/lz4/lz4-3.1.0.tar.gz"
+ pypi = "lz4/lz4-3.1.0.tar.gz"
version('3.1.0', sha256='debe75513db3eb9e5cdcd82a329ff38374b6316ab65b848b571e0404746c1e05')
diff --git a/var/spack/repos/builtin/packages/py-lzstring/package.py b/var/spack/repos/builtin/packages/py-lzstring/package.py
index 33eb630918..5ebaf00ca0 100644
--- a/var/spack/repos/builtin/packages/py-lzstring/package.py
+++ b/var/spack/repos/builtin/packages/py-lzstring/package.py
@@ -10,7 +10,7 @@ class PyLzstring(PythonPackage):
"""lz-string for python."""
homepage = "https://github.com/gkovacs/lz-string-python"
- url = "https://pypi.io/packages/source/l/lzstring/lzstring-1.0.3.tar.gz"
+ pypi = "lzstring/lzstring-1.0.3.tar.gz"
version('1.0.3', sha256='d54dd5a5f86837ccfc1343cc9f1cb0674d2d6ebd4b49f6408c35104f0a996cb4')
diff --git a/var/spack/repos/builtin/packages/py-macholib/package.py b/var/spack/repos/builtin/packages/py-macholib/package.py
index 702ea07e0b..059d36d68b 100644
--- a/var/spack/repos/builtin/packages/py-macholib/package.py
+++ b/var/spack/repos/builtin/packages/py-macholib/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyMacholib(PythonPackage):
"""Python package for Mach-O header analysis and editing"""
- homepage = "https://pypi.python.org/pypi/macholib"
- url = "https://pypi.io/packages/source/m/macholib/macholib-1.11.tar.gz"
+ pypi = "macholib/macholib-1.11.tar.gz"
version('1.11', 'c4180ffc6f909bf8db6cd81cff4b6f601d575568f4d5dee148c830e9851eb9db')
diff --git a/var/spack/repos/builtin/packages/py-machotools/package.py b/var/spack/repos/builtin/packages/py-machotools/package.py
index a0b4337892..cc737ec0d2 100644
--- a/var/spack/repos/builtin/packages/py-machotools/package.py
+++ b/var/spack/repos/builtin/packages/py-machotools/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyMachotools(PythonPackage):
"""Python package for editing Mach-O headers using macholib"""
- homepage = "https://pypi.python.org/pypi/machotools"
- url = "https://pypi.io/packages/source/m/machotools/machotools-0.2.0.tar.gz"
+ pypi = "machotools/machotools-0.2.0.tar.gz"
version('0.2.0', sha256='e3950fa263169087d44a3d0521a3267d5128efd1b85252670c7171955939ab58')
diff --git a/var/spack/repos/builtin/packages/py-macs2/package.py b/var/spack/repos/builtin/packages/py-macs2/package.py
index b9703842b5..3a44a76f07 100644
--- a/var/spack/repos/builtin/packages/py-macs2/package.py
+++ b/var/spack/repos/builtin/packages/py-macs2/package.py
@@ -11,7 +11,7 @@ class PyMacs2(PythonPackage):
"""MACS2 Model-based Analysis of ChIP-Seq"""
homepage = "https://github.com/taoliu/MACS"
- url = "https://pypi.io/packages/source/M/MACS2/MACS2-2.2.4.tar.gz"
+ pypi = "MACS2/MACS2-2.2.4.tar.gz"
version('2.2.4', sha256='b131aadc8f5fd94bec35308b821e1f7585def788d2e7c756fc8cac402ffee25b')
version('2.1.4', sha256='e4966d001914320829ab859c7bc8e92c6410aa7bdbddfd00b7625e9a0fb15c97')
diff --git a/var/spack/repos/builtin/packages/py-maestrowf/package.py b/var/spack/repos/builtin/packages/py-maestrowf/package.py
index 69812a6b38..3179b300a3 100644
--- a/var/spack/repos/builtin/packages/py-maestrowf/package.py
+++ b/var/spack/repos/builtin/packages/py-maestrowf/package.py
@@ -11,7 +11,7 @@ class PyMaestrowf(PythonPackage):
simulation studies."""
homepage = "https://github.com/LLNL/maestrowf/"
- url = "https://pypi.io/packages/source/m/maestrowf/maestrowf-1.1.8.tar.gz"
+ pypi = "maestrowf/maestrowf-1.1.8.tar.gz"
git = "https://github.com/LLNL/maestrowf/"
maintainers = ['FrankD412']
diff --git a/var/spack/repos/builtin/packages/py-mako/package.py b/var/spack/repos/builtin/packages/py-mako/package.py
index 0a23413bac..ea5a740c08 100644
--- a/var/spack/repos/builtin/packages/py-mako/package.py
+++ b/var/spack/repos/builtin/packages/py-mako/package.py
@@ -10,8 +10,7 @@ class PyMako(PythonPackage):
"""A super-fast templating language that borrows the best
ideas from the existing templating languages."""
- homepage = "https://pypi.python.org/pypi/mako"
- url = "https://pypi.io/packages/source/M/Mako/Mako-1.0.1.tar.gz"
+ pypi = "Mako/Mako-1.0.1.tar.gz"
version('1.0.4', sha256='fed99dbe4d0ddb27a33ee4910d8708aca9ef1fe854e668387a9ab9a90cbf9059')
version('1.0.1', sha256='45f0869febea59dab7efd256fb451c377cbb7947bef386ff0bb44627c31a8d1c')
diff --git a/var/spack/repos/builtin/packages/py-mapclassify/package.py b/var/spack/repos/builtin/packages/py-mapclassify/package.py
index f25a56d79e..e10002871a 100644
--- a/var/spack/repos/builtin/packages/py-mapclassify/package.py
+++ b/var/spack/repos/builtin/packages/py-mapclassify/package.py
@@ -10,7 +10,7 @@ class PyMapclassify(PythonPackage):
"""Classification Schemes for Choropleth Maps."""
homepage = "https://github.com/pysal/mapclassify"
- url = "https://pypi.io/packages/source/m/mapclassify/mapclassify-2.4.2.tar.gz"
+ pypi = "mapclassify/mapclassify-2.4.2.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-markdown/package.py b/var/spack/repos/builtin/packages/py-markdown/package.py
index 665d94dee4..d2d24e537f 100644
--- a/var/spack/repos/builtin/packages/py-markdown/package.py
+++ b/var/spack/repos/builtin/packages/py-markdown/package.py
@@ -15,7 +15,7 @@ class PyMarkdown(PythonPackage):
"""
homepage = "https://pythonhosted.org/Markdown/"
- url = "https://pypi.io/packages/source/m/markdown/Markdown-2.6.11.tar.gz"
+ pypi = "markdown/Markdown-2.6.11.tar.gz"
version('3.1.1', sha256='2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a')
version('2.6.11', sha256='a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81')
diff --git a/var/spack/repos/builtin/packages/py-markovify/package.py b/var/spack/repos/builtin/packages/py-markovify/package.py
index d7b93c1e3d..6236dd018e 100644
--- a/var/spack/repos/builtin/packages/py-markovify/package.py
+++ b/var/spack/repos/builtin/packages/py-markovify/package.py
@@ -10,7 +10,7 @@ class PyMarkovify(PythonPackage):
corpora of text and generating random sentences from that."""
homepage = "https://github.com/jsvine/markovify"
- url = "https://pypi.io/packages/source/m/markovify/markovify-0.8.3.tar.gz"
+ pypi = "markovify/markovify-0.8.3.tar.gz"
version('0.8.3', sha256='254405c5b2f819ae388c39a53e6bc038bfbc24713441869ce90a1cd67e4a89ce')
diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py
index a1aa3b80b2..ddd0bde0f5 100644
--- a/var/spack/repos/builtin/packages/py-markupsafe/package.py
+++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py
@@ -13,7 +13,7 @@ class PyMarkupsafe(PythonPackage):
Mako templating engine, the Pylons web framework and many more."""
homepage = "http://www.pocoo.org/projects/markupsafe/"
- url = "https://pypi.io/packages/source/M/MarkupSafe/MarkupSafe-1.1.1.tar.gz"
+ pypi = "MarkupSafe/MarkupSafe-1.1.1.tar.gz"
version('1.1.1', sha256='29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b')
version('1.0', sha256='a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665')
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index 435938d9b5..13905fcc42 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -11,7 +11,7 @@ class PyMatplotlib(PythonPackage):
and interactive visualizations in Python."""
homepage = "https://matplotlib.org/"
- pypi = "matplotlib/matplotlib-3.3.2.tar.gz"
+ pypi = "matplotlib/matplotlib-3.3.2.tar.gz"
maintainers = ['adamjstewart']
import_modules = [
diff --git a/var/spack/repos/builtin/packages/py-mayavi/package.py b/var/spack/repos/builtin/packages/py-mayavi/package.py
index 1fe477bbc7..a620d89333 100644
--- a/var/spack/repos/builtin/packages/py-mayavi/package.py
+++ b/var/spack/repos/builtin/packages/py-mayavi/package.py
@@ -8,7 +8,7 @@ class PyMayavi(PythonPackage):
"""Mayavi: 3D visualization of scientific data in Python."""
homepage = "https://docs.enthought.com/mayavi/mayavi/index.html"
- url = "https://pypi.io/packages/source/m/mayavi/mayavi-4.7.1.tar.bz2"
+ pypi = "mayavi/mayavi-4.7.1.tar.bz2"
version('4.7.1', sha256='be51fb6f886f304f7c593c907e6a2e88d7919f8f446cdccfcd184fa35b3db724')
diff --git a/var/spack/repos/builtin/packages/py-mdanalysis/package.py b/var/spack/repos/builtin/packages/py-mdanalysis/package.py
index 0651123ef3..66d37b5296 100644
--- a/var/spack/repos/builtin/packages/py-mdanalysis/package.py
+++ b/var/spack/repos/builtin/packages/py-mdanalysis/package.py
@@ -14,7 +14,7 @@ class PyMdanalysis(PythonPackage):
topology formats.)"""
homepage = "http://www.mdanalysis.org"
- url = "https://pypi.io/packages/source/M/MDAnalysis/MDAnalysis-0.19.2.tar.gz"
+ pypi = "MDAnalysis/MDAnalysis-0.19.2.tar.gz"
version('1.0.0', sha256='f45a024aca45e390ff1c45ca90beb2180b78881be377e2a1aa9cd6c109bcfa81')
version('0.20.1', sha256='d04b71b193b9716d2597ffb9938b93f43487fa535da1bb5c1f2baccf356d7df9')
diff --git a/var/spack/repos/builtin/packages/py-mechanize/package.py b/var/spack/repos/builtin/packages/py-mechanize/package.py
index 06ae015836..35895f0544 100644
--- a/var/spack/repos/builtin/packages/py-mechanize/package.py
+++ b/var/spack/repos/builtin/packages/py-mechanize/package.py
@@ -10,7 +10,7 @@ class PyMechanize(PythonPackage):
"""Stateful programmatic web browsing."""
homepage = "https://github.com/python-mechanize/mechanize"
- url = "https://pypi.io/packages/source/m/mechanize/mechanize-0.4.3.tar.gz"
+ pypi = "mechanize/mechanize-0.4.3.tar.gz"
version('0.4.3', sha256='d7d7068be5e1b3069575c98c870aaa96dd26603fe8c8697b470e2f65259fddbf')
version('0.2.5', sha256='2e67b20d107b30c00ad814891a095048c35d9d8cb9541801cebe85684cc84766')
diff --git a/var/spack/repos/builtin/packages/py-memory-profiler/package.py b/var/spack/repos/builtin/packages/py-memory-profiler/package.py
index ee3f3ec760..3b39c38a7a 100644
--- a/var/spack/repos/builtin/packages/py-memory-profiler/package.py
+++ b/var/spack/repos/builtin/packages/py-memory-profiler/package.py
@@ -10,7 +10,7 @@ class PyMemoryProfiler(PythonPackage):
"""A module for monitoring memory usage of a python program"""
homepage = "https://github.com/fabianp/memory_profiler"
- url = "https://pypi.io/packages/source/m/memory_profiler/memory_profiler-0.57.0.tar.gz"
+ pypi = "memory_profiler/memory_profiler-0.57.0.tar.gz"
version('0.57.0', sha256='23b196f91ea9ac9996e30bfab1e82fecc30a4a1d24870e81d1e81625f786a2c3')
version('0.47', sha256='e992f2a341a5332dad1ad4a008eeac7cfe78c7ea4abdf7535a3e7e79093328cb')
diff --git a/var/spack/repos/builtin/packages/py-mercantile/package.py b/var/spack/repos/builtin/packages/py-mercantile/package.py
index 2edfb3d8f0..34c747c4de 100644
--- a/var/spack/repos/builtin/packages/py-mercantile/package.py
+++ b/var/spack/repos/builtin/packages/py-mercantile/package.py
@@ -10,7 +10,7 @@ class PyMercantile(PythonPackage):
"""Web mercator XYZ tile utilities."""
homepage = "https://github.com/mapbox/mercantile"
- url = "https://pypi.io/packages/source/m/mercantile/mercantile-1.1.6.tar.gz"
+ pypi = "mercantile/mercantile-1.1.6.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-merlin/package.py b/var/spack/repos/builtin/packages/py-merlin/package.py
index 231f90a278..d2e93142e9 100644
--- a/var/spack/repos/builtin/packages/py-merlin/package.py
+++ b/var/spack/repos/builtin/packages/py-merlin/package.py
@@ -10,7 +10,7 @@ class PyMerlin(PythonPackage):
"""Merlin Workflow for HPC."""
homepage = "https://github.com/LLNL/merlin"
- url = "https://pypi.io/packages/source/m/merlin/merlin-1.4.1.tar.gz"
+ pypi = "merlin/merlin-1.4.1.tar.gz"
git = "https://github.com/LLNL/merlin.git"
version('1.7.5', sha256='1994c1770ec7fc9da216f9d0ca8214684dcc0daa5fd55337b96e308b2e68daaa')
diff --git a/var/spack/repos/builtin/packages/py-minrpc/package.py b/var/spack/repos/builtin/packages/py-minrpc/package.py
index 606c3c987b..5ac724ab2f 100644
--- a/var/spack/repos/builtin/packages/py-minrpc/package.py
+++ b/var/spack/repos/builtin/packages/py-minrpc/package.py
@@ -10,7 +10,7 @@ class PyMinrpc(PythonPackage):
"""Minimalistic RPC utility (only used within cpymad and pytao)."""
homepage = "https://github.com/hibtc/minrpc"
- url = "https://pypi.io/packages/source/m/minrpc/minrpc-0.0.11.tar.gz"
+ pypi = "minrpc/minrpc-0.0.11.tar.gz"
version('0.0.11', sha256='bed53160f2774fdae7bd3d0fb5d1c77d17395394ec28a9e95a5859f486b54893')
diff --git a/var/spack/repos/builtin/packages/py-misopy/package.py b/var/spack/repos/builtin/packages/py-misopy/package.py
index d55896c680..4c09ebeea6 100644
--- a/var/spack/repos/builtin/packages/py-misopy/package.py
+++ b/var/spack/repos/builtin/packages/py-misopy/package.py
@@ -13,7 +13,7 @@ class PyMisopy(PythonPackage):
across samples."""
homepage = "http://miso.readthedocs.io/en/fastmiso/"
- url = "https://pypi.io/packages/source/m/misopy/misopy-0.5.4.tar.gz"
+ pypi = "misopy/misopy-0.5.4.tar.gz"
version('0.5.4', sha256='377a28b0c254b1920ffdc2d89cf96c3a21cadf1cf148ee6d6ef7a88ada067dfc')
diff --git a/var/spack/repos/builtin/packages/py-mmtf-python/package.py b/var/spack/repos/builtin/packages/py-mmtf-python/package.py
index e86f4b7f8e..e7912d8ce6 100644
--- a/var/spack/repos/builtin/packages/py-mmtf-python/package.py
+++ b/var/spack/repos/builtin/packages/py-mmtf-python/package.py
@@ -11,7 +11,7 @@ class PyMmtfPython(PythonPackage):
biological structures."""
homepage = "https://github.com/rcsb/mmtf-python"
- url = "https://pypi.io/packages/source/m/mmtf-python/mmtf-python-1.1.2.tar.gz"
+ pypi = "mmtf-python/mmtf-python-1.1.2.tar.gz"
version('1.1.2', sha256='a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df')
diff --git a/var/spack/repos/builtin/packages/py-mock/package.py b/var/spack/repos/builtin/packages/py-mock/package.py
index b406da3f8d..49c913145d 100644
--- a/var/spack/repos/builtin/packages/py-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-mock/package.py
@@ -12,7 +12,7 @@ class PyMock(PythonPackage):
they have been used."""
homepage = "https://github.com/testing-cabal/mock"
- url = "https://pypi.io/packages/source/m/mock/mock-3.0.5.tar.gz"
+ pypi = "mock/mock-3.0.5.tar.gz"
version('3.0.5', sha256='83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3')
version('2.0.0', sha256='b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba')
diff --git a/var/spack/repos/builtin/packages/py-monotonic/package.py b/var/spack/repos/builtin/packages/py-monotonic/package.py
index fec3f99f96..c7dbb3c6ad 100644
--- a/var/spack/repos/builtin/packages/py-monotonic/package.py
+++ b/var/spack/repos/builtin/packages/py-monotonic/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyMonotonic(PythonPackage):
"""An implementation of time.monotonic() for Python 2 & < 3.3"""
- homepage = "https://pypi.python.org/pypi/monotonic"
- url = "https://pypi.io/packages/source/m/monotonic/monotonic-1.2.tar.gz"
+ pypi = "monotonic/monotonic-1.2.tar.gz"
version('1.2', sha256='c0e1ceca563ca6bb30b0fb047ee1002503ae6ad3585fc9c6af37a8f77ec274ba')
diff --git a/var/spack/repos/builtin/packages/py-monty/package.py b/var/spack/repos/builtin/packages/py-monty/package.py
index 8b4d406242..16225d00ad 100644
--- a/var/spack/repos/builtin/packages/py-monty/package.py
+++ b/var/spack/repos/builtin/packages/py-monty/package.py
@@ -10,7 +10,7 @@ class PyMonty(PythonPackage):
"""Monty is the missing complement to Python."""
homepage = "https://github.com/materialsvirtuallab/monty"
- url = "https://pypi.io/packages/source/m/monty/monty-0.9.6.tar.gz"
+ pypi = "monty/monty-0.9.6.tar.gz"
version('0.9.6', sha256='bbf05646c4e86731c2398a57b1044add7487fc4ad03122578599ddd9a8892780')
diff --git a/var/spack/repos/builtin/packages/py-more-itertools/package.py b/var/spack/repos/builtin/packages/py-more-itertools/package.py
index d21f5e57d4..7d04b268d0 100644
--- a/var/spack/repos/builtin/packages/py-more-itertools/package.py
+++ b/var/spack/repos/builtin/packages/py-more-itertools/package.py
@@ -10,7 +10,7 @@ class PyMoreItertools(PythonPackage):
"""Additions to the standard Python itertools package."""
homepage = "https://github.com/erikrose/more-itertools"
- url = "https://pypi.io/packages/source/m/more-itertools/more-itertools-7.2.0.tar.gz"
+ pypi = "more-itertools/more-itertools-7.2.0.tar.gz"
version('7.2.0', sha256='409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832')
version('7.0.0', sha256='c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a')
diff --git a/var/spack/repos/builtin/packages/py-mpi4py/package.py b/var/spack/repos/builtin/packages/py-mpi4py/package.py
index f4af51fcfe..0cf4849703 100644
--- a/var/spack/repos/builtin/packages/py-mpi4py/package.py
+++ b/var/spack/repos/builtin/packages/py-mpi4py/package.py
@@ -12,8 +12,7 @@ class PyMpi4py(PythonPackage):
MPI-1/MPI-2 specification and exposes an API which grounds on the
standard MPI-2 C++ bindings.
"""
- homepage = "https://pypi.python.org/pypi/mpi4py"
- url = "https://pypi.io/packages/source/m/mpi4py/mpi4py-3.0.3.tar.gz"
+ pypi = "mpi4py/mpi4py-3.0.3.tar.gz"
git = "https://github.com/mpi4py/mpi4py.git"
version('develop', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-mpld3/package.py b/var/spack/repos/builtin/packages/py-mpld3/package.py
index 9b5ba868cf..4eaf12748e 100644
--- a/var/spack/repos/builtin/packages/py-mpld3/package.py
+++ b/var/spack/repos/builtin/packages/py-mpld3/package.py
@@ -11,7 +11,7 @@ class PyMpld3(PythonPackage):
to the browser."""
homepage = "http://mpld3.github.com/"
- url = "https://pypi.io/packages/source/m/mpld3/mpld3-0.3.tar.gz"
+ pypi = "mpld3/mpld3-0.3.tar.gz"
version('0.3', sha256='4d455884a211bf99b37ecc760759435c7bb6a5955de47d8daf4967e301878ab7')
diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py
index c6c4e02646..5488c549cf 100644
--- a/var/spack/repos/builtin/packages/py-mpmath/package.py
+++ b/var/spack/repos/builtin/packages/py-mpmath/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyMpmath(PythonPackage):
"""A Python library for arbitrary-precision floating-point arithmetic."""
homepage = "http://mpmath.org"
- url = "https://pypi.io/packages/source/m/mpmath/mpmath-1.0.0.tar.gz"
+ pypi = "mpmath/mpmath-1.0.0.tar.gz"
version('1.1.0', sha256='fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6')
version('1.0.0', sha256='04d14803b6875fe6d69e6dccea87d5ae5599802e4b1df7997bddd2024001050c')
diff --git a/var/spack/repos/builtin/packages/py-msal-extensions/package.py b/var/spack/repos/builtin/packages/py-msal-extensions/package.py
index 5a17c1ad37..3fc7a5d48e 100644
--- a/var/spack/repos/builtin/packages/py-msal-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-msal-extensions/package.py
@@ -11,7 +11,7 @@ class PyMsalExtensions(PythonPackage):
Microsoft Authentication Library for Python (MSAL)."""
homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python"
- url = "https://pypi.io/packages/source/m/msal-extensions/msal-extensions-0.2.2.tar.gz"
+ pypi = "msal-extensions/msal-extensions-0.2.2.tar.gz"
version('0.2.2', sha256='31414753c484679bb3b6c6401623eb4c3ccab630af215f2f78c1d5c4f8e1d1a9')
version('0.1.3', sha256='59e171a9a4baacdbf001c66915efeaef372fb424421f1a4397115a3ddd6205dc')
diff --git a/var/spack/repos/builtin/packages/py-msal/package.py b/var/spack/repos/builtin/packages/py-msal/package.py
index 7b870ed9d0..40e5fb88a5 100644
--- a/var/spack/repos/builtin/packages/py-msal/package.py
+++ b/var/spack/repos/builtin/packages/py-msal/package.py
@@ -11,7 +11,7 @@ class PyMsal(PythonPackage):
Accounts (MSA) using industry standard OAuth2 and OpenID Connect."""
homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python"
- url = "https://pypi.io/packages/source/m/msal/msal-1.3.0.tar.gz"
+ pypi = "msal/msal-1.3.0.tar.gz"
version('1.3.0', sha256='5442a3a9d006506e653d3c4daff40538bdf067bf07b6b73b32d1b231d5e77a92')
version('1.0.0', sha256='ecbe3f5ac77facad16abf08eb9d8562af3bc7184be5d4d90c9ef4db5bde26340')
diff --git a/var/spack/repos/builtin/packages/py-msgpack/package.py b/var/spack/repos/builtin/packages/py-msgpack/package.py
index 77442a5421..fc08a08090 100644
--- a/var/spack/repos/builtin/packages/py-msgpack/package.py
+++ b/var/spack/repos/builtin/packages/py-msgpack/package.py
@@ -8,7 +8,7 @@ class PyMsgpack(PythonPackage):
"""MessagePack (de)serializer."""
homepage = "https://msgpack.org/"
- url = "https://pypi.io/packages/source/m/msgpack/msgpack-1.0.0.tar.gz"
+ pypi = "msgpack/msgpack-1.0.0.tar.gz"
version('1.0.0', sha256='9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0')
version('0.6.2', sha256='ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830')
diff --git a/var/spack/repos/builtin/packages/py-msrest/package.py b/var/spack/repos/builtin/packages/py-msrest/package.py
index f589d152e7..783468af85 100644
--- a/var/spack/repos/builtin/packages/py-msrest/package.py
+++ b/var/spack/repos/builtin/packages/py-msrest/package.py
@@ -8,7 +8,7 @@ class PyMsrest(PythonPackage):
"""AutoRest swagger generator Python client runtime."""
homepage = "https://github.com/Azure/msrest-for-python"
- url = "https://pypi.io/packages/source/m/msrest/msrest-0.6.16.tar.gz"
+ pypi = "msrest/msrest-0.6.16.tar.gz"
version('0.6.16', sha256='214c5be98954cb45feb6a6a858a7ae6d41a664e80294b65db225bbaa33d9ca3c')
diff --git a/var/spack/repos/builtin/packages/py-msrestazure/package.py b/var/spack/repos/builtin/packages/py-msrestazure/package.py
index 40208cfa67..af24e328ce 100644
--- a/var/spack/repos/builtin/packages/py-msrestazure/package.py
+++ b/var/spack/repos/builtin/packages/py-msrestazure/package.py
@@ -9,7 +9,7 @@ class PyMsrestazure(PythonPackage):
Azure-specific module."""
homepage = "https://github.com/Azure/msrestazure-for-python"
- url = "https://pypi.io/packages/source/m/msrestazure/msrestazure-0.6.3.tar.gz"
+ pypi = "msrestazure/msrestazure-0.6.3.tar.gz"
version('0.6.3', sha256='0ec9db93eeea6a6cf1240624a04f49cd8bbb26b98d84a63a8220cfda858c2a96')
diff --git a/var/spack/repos/builtin/packages/py-multi-key-dict/package.py b/var/spack/repos/builtin/packages/py-multi-key-dict/package.py
index d30777b9ef..2111901b65 100644
--- a/var/spack/repos/builtin/packages/py-multi-key-dict/package.py
+++ b/var/spack/repos/builtin/packages/py-multi-key-dict/package.py
@@ -10,6 +10,6 @@ class PyMultiKeyDict(PythonPackage):
"""Multi key dictionary implementation"""
homepage = "https://github.com/formiaczek/multi_key_dict"
- url = "https://pypi.io/packages/source/m/multi_key_dict/multi_key_dict-2.0.3.tar.gz"
+ pypi = "multi_key_dict/multi_key_dict-2.0.3.tar.gz"
version('2.0.3', sha256='deebdec17aa30a1c432cb3f437e81f8621e1c0542a0c0617a74f71e232e9939e')
diff --git a/var/spack/repos/builtin/packages/py-multiprocess/package.py b/var/spack/repos/builtin/packages/py-multiprocess/package.py
index f382ff050f..eb6e4e8a84 100644
--- a/var/spack/repos/builtin/packages/py-multiprocess/package.py
+++ b/var/spack/repos/builtin/packages/py-multiprocess/package.py
@@ -10,7 +10,7 @@ class PyMultiprocess(PythonPackage):
"""Better multiprocessing and multithreading in Python"""
homepage = "https://github.com/uqfoundation/multiprocess"
- url = "https://pypi.io/packages/source/m/multiprocess/multiprocess-0.70.5.zip"
+ pypi = "multiprocess/multiprocess-0.70.5.zip"
version('0.70.9', sha256='9fd5bd990132da77e73dec6e9613408602a4612e1d73caf2e2b813d2b61508e5')
version('0.70.7', sha256='3394f1fbd0d87112690a877e49eb7917d851ee8d822294d522dd4deae12febdb')
diff --git a/var/spack/repos/builtin/packages/py-multiqc/package.py b/var/spack/repos/builtin/packages/py-multiqc/package.py
index a1ab08fae8..a9d0b967c7 100644
--- a/var/spack/repos/builtin/packages/py-multiqc/package.py
+++ b/var/spack/repos/builtin/packages/py-multiqc/package.py
@@ -12,7 +12,7 @@ class PyMultiqc(PythonPackage):
for a large number of common bioinformatics tools."""
homepage = "https://multiqc.info"
- url = "https://pypi.io/packages/source/m/multiqc/multiqc-1.0.tar.gz"
+ pypi = "multiqc/multiqc-1.0.tar.gz"
version('1.7', sha256='02e6a7fac7cd9ed036dcc6c92b8f8bcacbd28983ba6be53afb35e08868bd2d68')
version('1.5', sha256='fe0ffd2b0d1067365ba4e54ae8991f2f779c7c684b037549b617020ea883310a')
diff --git a/var/spack/repos/builtin/packages/py-murmurhash/package.py b/var/spack/repos/builtin/packages/py-murmurhash/package.py
index 3cb59de262..df362922b2 100644
--- a/var/spack/repos/builtin/packages/py-murmurhash/package.py
+++ b/var/spack/repos/builtin/packages/py-murmurhash/package.py
@@ -8,7 +8,7 @@ class PyMurmurhash(PythonPackage):
"""Cython bindings for MurmurHash."""
homepage = "https://github.com/explosion/murmurhash"
- url = "https://pypi.io/packages/source/m/murmurhash/murmurhash-1.0.2.tar.gz"
+ pypi = "murmurhash/murmurhash-1.0.2.tar.gz"
version('1.0.2', sha256='c7a646f6b07b033642b4f52ae2e45efd8b80780b3b90e8092a0cec935fbf81e2')
diff --git a/var/spack/repos/builtin/packages/py-myhdl/package.py b/var/spack/repos/builtin/packages/py-myhdl/package.py
index 98056266b8..452bd2fab0 100644
--- a/var/spack/repos/builtin/packages/py-myhdl/package.py
+++ b/var/spack/repos/builtin/packages/py-myhdl/package.py
@@ -11,7 +11,7 @@ class PyMyhdl(PythonPackage):
"""Python as a Hardware Description Language"""
homepage = "http://www.myhdl.org"
- url = "https://pypi.io/packages/source/m/myhdl/myhdl-0.9.0.tar.gz"
+ pypi = "myhdl/myhdl-0.9.0.tar.gz"
version('0.9.0', sha256='52d12a5fe2cda22558806272af3c2b519b6f7095292b8e6c8ad255fb604507a5')
diff --git a/var/spack/repos/builtin/packages/py-mypy-extensions/package.py b/var/spack/repos/builtin/packages/py-mypy-extensions/package.py
index 4a31b6816b..8377f71c34 100644
--- a/var/spack/repos/builtin/packages/py-mypy-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-mypy-extensions/package.py
@@ -11,7 +11,7 @@ class PyMypyExtensions(PythonPackage):
mypy typechecker."""
homepage = "https://github.com/python/mypy_extensions"
- url = "https://pypi.io/packages/source/m/mypy-extensions/mypy_extensions-0.4.3.tar.gz"
+ pypi = "mypy-extensions/mypy_extensions-0.4.3.tar.gz"
version('0.4.3', sha256='2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8')
diff --git a/var/spack/repos/builtin/packages/py-mypy/package.py b/var/spack/repos/builtin/packages/py-mypy/package.py
index 1e1d57f701..ce2939eb8d 100644
--- a/var/spack/repos/builtin/packages/py-mypy/package.py
+++ b/var/spack/repos/builtin/packages/py-mypy/package.py
@@ -10,7 +10,7 @@ class PyMypy(PythonPackage):
"""Optional static typing for Python."""
homepage = "http://www.mypy-lang.org/"
- url = "https://pypi.io/packages/source/m/mypy/mypy-0.740.tar.gz"
+ pypi = "mypy/mypy-0.740.tar.gz"
version('0.740', sha256='48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d')
diff --git a/var/spack/repos/builtin/packages/py-mysqlclient/package.py b/var/spack/repos/builtin/packages/py-mysqlclient/package.py
index a1f1d09e13..f598b8c129 100644
--- a/var/spack/repos/builtin/packages/py-mysqlclient/package.py
+++ b/var/spack/repos/builtin/packages/py-mysqlclient/package.py
@@ -13,7 +13,7 @@ class PyMysqlclient(PythonPackage):
# The documentation is misleading about this.
homepage = "https://github.com/PyMySQL/mysqlclient-python"
- url = "https://pypi.io/packages/source/m/mysqlclient/mysqlclient-1.4.4.tar.gz"
+ pypi = "mysqlclient/mysqlclient-1.4.4.tar.gz"
version('1.4.6', sha256='f3fdaa9a38752a3b214a6fe79d7cae3653731a53e577821f9187e67cbecb2e16')
version('1.4.5', sha256='e80109b0ae8d952b900b31b623181532e5e89376d707dcbeb63f99e69cefe559')
diff --git a/var/spack/repos/builtin/packages/py-natsort/package.py b/var/spack/repos/builtin/packages/py-natsort/package.py
index 32358db64f..14e69d0627 100644
--- a/var/spack/repos/builtin/packages/py-natsort/package.py
+++ b/var/spack/repos/builtin/packages/py-natsort/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyNatsort(PythonPackage):
"""Simple yet flexible natural sorting in Python."""
- homepage = "https://pypi.org/project/natsort/"
+ homepage = "https://github.com/SethMMorton/natsort"
url = "https://github.com/SethMMorton/natsort/archive/5.2.0.zip"
version('5.2.0', sha256='0ae15082842e8a3598750b4bbaa4f7c138caf004e59c7040429d56bf9e9631bd')
diff --git a/var/spack/repos/builtin/packages/py-nbclient/package.py b/var/spack/repos/builtin/packages/py-nbclient/package.py
index e5284508b5..b388138a39 100644
--- a/var/spack/repos/builtin/packages/py-nbclient/package.py
+++ b/var/spack/repos/builtin/packages/py-nbclient/package.py
@@ -10,7 +10,7 @@ class PyNbclient(PythonPackage):
Formally nbconvert's ExecutePreprocessor."""
homepage = "https://jupyter.org/"
- url = "https://pypi.io/packages/source/n/nbclient/nbclient-0.5.0.tar.gz"
+ pypi = "nbclient/nbclient-0.5.0.tar.gz"
version('0.5.0', sha256='8ad52d27ba144fca1402db014857e53c5a864a2f407be66ca9d74c3a56d6591d')
diff --git a/var/spack/repos/builtin/packages/py-nbconvert/package.py b/var/spack/repos/builtin/packages/py-nbconvert/package.py
index 1cb8b009ad..fa287e6232 100644
--- a/var/spack/repos/builtin/packages/py-nbconvert/package.py
+++ b/var/spack/repos/builtin/packages/py-nbconvert/package.py
@@ -8,7 +8,7 @@ class PyNbconvert(PythonPackage):
"""Jupyter Notebook Conversion"""
homepage = "https://github.com/jupyter/nbconvert"
- url = "https://pypi.io/packages/source/n/nbconvert/nbconvert-6.0.1.tar.gz"
+ pypi = "nbconvert/nbconvert-6.0.1.tar.gz"
version('6.0.1', sha256='db94117fbac29153834447e31b30cda337d4450e46e0bdb1a36eafbbf4435156')
version('5.6.0', sha256='427a468ec26e7d68a529b95f578d5cbf018cb4c1f889e897681c2b6d11897695')
diff --git a/var/spack/repos/builtin/packages/py-nbformat/package.py b/var/spack/repos/builtin/packages/py-nbformat/package.py
index d8f93315c3..80aa3f88c2 100644
--- a/var/spack/repos/builtin/packages/py-nbformat/package.py
+++ b/var/spack/repos/builtin/packages/py-nbformat/package.py
@@ -8,7 +8,7 @@ class PyNbformat(PythonPackage):
"""The Jupyter Notebook format"""
homepage = "https://github.com/jupyter/nbformat"
- url = "https://pypi.io/packages/source/n/nbformat/nbformat-5.0.7.tar.gz"
+ pypi = "nbformat/nbformat-5.0.7.tar.gz"
version('5.0.7', sha256='54d4d6354835a936bad7e8182dcd003ca3dc0cedfee5a306090e04854343b340')
version('4.4.0', sha256='f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402')
diff --git a/var/spack/repos/builtin/packages/py-nc-time-axis/package.py b/var/spack/repos/builtin/packages/py-nc-time-axis/package.py
index 0703e25af7..1c928b1a8f 100644
--- a/var/spack/repos/builtin/packages/py-nc-time-axis/package.py
+++ b/var/spack/repos/builtin/packages/py-nc-time-axis/package.py
@@ -10,7 +10,7 @@ class PyNcTimeAxis(PythonPackage):
"""cftime support for matplotlib axis."""
homepage = "https://github.com/scitools/nc-time-axis"
- url = "https://pypi.io/packages/source/n/nc-time-axis/nc-time-axis-1.1.0.tar.gz"
+ pypi = "nc-time-axis/nc-time-axis-1.1.0.tar.gz"
version('1.1.0', sha256='ea9d4f7f9e9189c96f7d320235ac6c4be7f63dc5aa256b3ee5d5cca5845e6e26')
diff --git a/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py b/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py
index 91a815ce99..b793c8c384 100644
--- a/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py
+++ b/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py
@@ -9,7 +9,7 @@ class PyNdgHttpsclient(PythonPackage):
PyOpenSSL."""
homepage = "https://github.com/cedadev/ndg_httpsclient/"
- url = "https://pypi.io/packages/source/n/ndg_httpsclient/ndg_httpsclient-0.5.1.tar.gz"
+ pypi = "ndg_httpsclient/ndg_httpsclient-0.5.1.tar.gz"
version('0.5.1', sha256='d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210')
diff --git a/var/spack/repos/builtin/packages/py-neo/package.py b/var/spack/repos/builtin/packages/py-neo/package.py
index 9015a53edf..58cc61f07b 100644
--- a/var/spack/repos/builtin/packages/py-neo/package.py
+++ b/var/spack/repos/builtin/packages/py-neo/package.py
@@ -12,7 +12,7 @@ class PyNeo(PythonPackage):
file formats"""
homepage = "http://neuralensemble.org/neo"
- url = "https://pypi.io/packages/source/n/neo/neo-0.4.1.tar.gz"
+ pypi = "neo/neo-0.4.1.tar.gz"
version('0.5.2', sha256='1de436b7d5e72a5b4f1baa68bae5b790624a9ac44b2673811cb0b6ef554d3f8b')
version('0.4.1', sha256='a5a4f3aa31654d52789f679717c9fb622ad4f59b56d227dca490357b9de0a1ce')
diff --git a/var/spack/repos/builtin/packages/py-neobolt/package.py b/var/spack/repos/builtin/packages/py-neobolt/package.py
index 7e19e529fd..77e36f1a7c 100644
--- a/var/spack/repos/builtin/packages/py-neobolt/package.py
+++ b/var/spack/repos/builtin/packages/py-neobolt/package.py
@@ -10,7 +10,7 @@ class PyNeobolt(PythonPackage):
"""Neo4j Bolt connector for Python"""
homepage = "https://github.com/neo4j-drivers/neobolt"
- url = "https://pypi.io/packages/source/n/neobolt/neobolt-1.7.16.tar.gz"
+ pypi = "neobolt/neobolt-1.7.16.tar.gz"
version('1.7.16', sha256='ca4e87679fe3ed39aec23638658e02dbdc6bbc3289a04e826f332e05ab32275d')
diff --git a/var/spack/repos/builtin/packages/py-neotime/package.py b/var/spack/repos/builtin/packages/py-neotime/package.py
index 31769361c1..d615fbe72a 100644
--- a/var/spack/repos/builtin/packages/py-neotime/package.py
+++ b/var/spack/repos/builtin/packages/py-neotime/package.py
@@ -10,7 +10,7 @@ class PyNeotime(PythonPackage):
"""Nanosecond resolution temporal types"""
homepage = "https://neotime.readthedocs.io/"
- url = "https://pypi.io/packages/source/n/neotime/neotime-1.7.4.tar.gz"
+ pypi = "neotime/neotime-1.7.4.tar.gz"
version('1.7.4', sha256='4e0477ba0f24e004de2fa79a3236de2bd941f20de0b5db8d976c52a86d7363eb')
diff --git a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
index 5ffcde84d9..a5773a22ca 100644
--- a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
+++ b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
@@ -8,7 +8,7 @@ class PyNestAsyncio(PythonPackage):
"""Patch asyncio to allow nested event loops."""
homepage = "https://github.com/erdewit/nest_asyncio"
- url = "https://pypi.io/packages/source/n/nest-asyncio/nest_asyncio-1.4.0.tar.gz"
+ pypi = "nest-asyncio/nest_asyncio-1.4.0.tar.gz"
version('1.4.0', sha256='5773054bbc14579b000236f85bc01ecced7ffd045ec8ca4a9809371ec65a59c8')
diff --git a/var/spack/repos/builtin/packages/py-nestle/package.py b/var/spack/repos/builtin/packages/py-nestle/package.py
index 941e5b0234..58fe43fa77 100644
--- a/var/spack/repos/builtin/packages/py-nestle/package.py
+++ b/var/spack/repos/builtin/packages/py-nestle/package.py
@@ -10,7 +10,7 @@ class PyNestle(PythonPackage):
"""Nested sampling algorithms for evaluating Bayesian evidence."""
homepage = "http://kbarbary.github.io/nestle/"
- url = "https://pypi.io/packages/source/n/nestle/nestle-0.1.1.tar.gz"
+ pypi = "nestle/nestle-0.1.1.tar.gz"
version('0.1.1', sha256='d236a04f25494af5cda572eecf62729592b3231fbd874b1f72aff54718a3bb08')
diff --git a/var/spack/repos/builtin/packages/py-netcdf4/package.py b/var/spack/repos/builtin/packages/py-netcdf4/package.py
index 93fa8641cc..36e3a570e2 100644
--- a/var/spack/repos/builtin/packages/py-netcdf4/package.py
+++ b/var/spack/repos/builtin/packages/py-netcdf4/package.py
@@ -10,7 +10,7 @@ class PyNetcdf4(PythonPackage):
"""Python interface to the netCDF Library."""
homepage = "https://github.com/Unidata/netcdf4-python"
- url = "https://pypi.io/packages/source/n/netCDF4/netCDF4-1.2.7.tar.gz"
+ pypi = "netCDF4/netCDF4-1.2.7.tar.gz"
maintainers = ['skosukhin']
diff --git a/var/spack/repos/builtin/packages/py-netifaces/package.py b/var/spack/repos/builtin/packages/py-netifaces/package.py
index 08d8200904..d59a4985df 100644
--- a/var/spack/repos/builtin/packages/py-netifaces/package.py
+++ b/var/spack/repos/builtin/packages/py-netifaces/package.py
@@ -10,7 +10,7 @@ class PyNetifaces(PythonPackage):
"""Portable network interface information"""
homepage = "https://bitbucket.org/al45tair/netifaces"
- url = "https://pypi.io/packages/source/n/netifaces/netifaces-0.10.5.tar.gz"
+ pypi = "netifaces/netifaces-0.10.5.tar.gz"
version('0.10.5', sha256='59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b')
diff --git a/var/spack/repos/builtin/packages/py-networkit/package.py b/var/spack/repos/builtin/packages/py-networkit/package.py
index 3fabec5089..d3737b67c5 100644
--- a/var/spack/repos/builtin/packages/py-networkit/package.py
+++ b/var/spack/repos/builtin/packages/py-networkit/package.py
@@ -18,7 +18,7 @@ class PyNetworkit(PythonPackage):
parallelism and scalability."""
homepage = "https://networkit.github.io/"
- url = "https://pypi.io/packages/source/n/networkit/networkit-6.1.tar.gz"
+ pypi = "networkit/networkit-6.1.tar.gz"
version('7.1', sha256='8609dc7a574a8a82d8880b8b1e3dfdd9c59ad67cd02135628e675c482fe98a96')
version('7.0', sha256='eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631')
diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py
index 04f82dac03..feff460669 100644
--- a/var/spack/repos/builtin/packages/py-networkx/package.py
+++ b/var/spack/repos/builtin/packages/py-networkx/package.py
@@ -11,7 +11,7 @@ class PyNetworkx(PythonPackage):
of the structure, dynamics, and functions of complex networks."""
homepage = "http://networkx.github.io/"
- url = "https://pypi.io/packages/source/n/networkx/networkx-2.4.tar.gz"
+ pypi = "networkx/networkx-2.4.tar.gz"
version('2.4', sha256='f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64')
version('2.3', sha256='8311ddef63cf5c5c5e7c1d0212dd141d9a1fe3f474915281b73597ed5f1d4e3d')
diff --git a/var/spack/repos/builtin/packages/py-nltk/package.py b/var/spack/repos/builtin/packages/py-nltk/package.py
index a19244e5fc..327ca95a52 100644
--- a/var/spack/repos/builtin/packages/py-nltk/package.py
+++ b/var/spack/repos/builtin/packages/py-nltk/package.py
@@ -9,7 +9,7 @@ class PyNltk(PythonPackage):
natural language processing."""
homepage = "https://www.nltk.org/"
- url = "https://pypi.io/packages/source/n/nltk/nltk-3.5.zip"
+ pypi = "nltk/nltk-3.5.zip"
version('3.5', sha256='845365449cd8c5f9731f7cb9f8bd6fd0767553b9d53af9eb1b3abf7700936b35')
diff --git a/var/spack/repos/builtin/packages/py-nodeenv/package.py b/var/spack/repos/builtin/packages/py-nodeenv/package.py
index 03120dd227..fd1f55bdeb 100644
--- a/var/spack/repos/builtin/packages/py-nodeenv/package.py
+++ b/var/spack/repos/builtin/packages/py-nodeenv/package.py
@@ -10,7 +10,7 @@ class PyNodeenv(PythonPackage):
"""Node.js virtual environment"""
homepage = "https://github.com/ekalinin/nodeenv"
- url = "https://pypi.io/packages/source/n/nodeenv/nodeenv-1.3.3.tar.gz"
+ pypi = "nodeenv/nodeenv-1.3.3.tar.gz"
version('1.3.3', sha256='ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a')
diff --git a/var/spack/repos/builtin/packages/py-nose-cov/package.py b/var/spack/repos/builtin/packages/py-nose-cov/package.py
index 88431ff9e5..ba8570cfaf 100644
--- a/var/spack/repos/builtin/packages/py-nose-cov/package.py
+++ b/var/spack/repos/builtin/packages/py-nose-cov/package.py
@@ -10,7 +10,7 @@ class PyNoseCov(PythonPackage):
"""This plugin produces coverage reports."""
homepage = "http://bitbucket.org/memedough/nose-cov/overview"
- url = "https://pypi.io/packages/source/n/nose-cov/nose-cov-1.6.tar.gz"
+ pypi = "nose-cov/nose-cov-1.6.tar.gz"
version('1.6', sha256='8bec0335598f1cc69e3262cc50d7678c1a6010fa44625ce343c4ec1500774412')
diff --git a/var/spack/repos/builtin/packages/py-nose/package.py b/var/spack/repos/builtin/packages/py-nose/package.py
index a60a096f18..b6f474d97b 100644
--- a/var/spack/repos/builtin/packages/py-nose/package.py
+++ b/var/spack/repos/builtin/packages/py-nose/package.py
@@ -10,8 +10,7 @@ class PyNose(PythonPackage):
"""nose extends the test loading and running features of unittest,
making it easier to write, find and run tests."""
- homepage = "https://pypi.python.org/pypi/nose"
- url = "https://pypi.io/packages/source/n/nose/nose-1.3.4.tar.gz"
+ pypi = "nose/nose-1.3.4.tar.gz"
version('1.3.7', sha256='f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98')
version('1.3.6', sha256='f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758')
diff --git a/var/spack/repos/builtin/packages/py-nose2/package.py b/var/spack/repos/builtin/packages/py-nose2/package.py
index 510fbd8850..a8a452a906 100644
--- a/var/spack/repos/builtin/packages/py-nose2/package.py
+++ b/var/spack/repos/builtin/packages/py-nose2/package.py
@@ -10,7 +10,7 @@ class PyNose2(PythonPackage):
"""unittest2 with plugins, the succesor to nose"""
homepage = "https://github.com/nose-devs/nose2"
- url = "https://pypi.io/packages/source/n/nose2/nose2-0.9.1.tar.gz"
+ pypi = "nose2/nose2-0.9.1.tar.gz"
version('0.9.1', sha256='0ede156fd7974fa40893edeca0b709f402c0ccacd7b81b22e76f73c116d1b999')
version('0.6.0', sha256='daa633e92a52e0db60ade7e105a2ba5cad7ac819f3608740dcfc6140b9fd0a94')
diff --git a/var/spack/repos/builtin/packages/py-nosexcover/package.py b/var/spack/repos/builtin/packages/py-nosexcover/package.py
index c92b5f9d77..1dafb39046 100644
--- a/var/spack/repos/builtin/packages/py-nosexcover/package.py
+++ b/var/spack/repos/builtin/packages/py-nosexcover/package.py
@@ -11,7 +11,7 @@ class PyNosexcover(PythonPackage):
out an XML coverage report to a file named coverage.xml."""
homepage = "https://github.com/cmheisel/nose-xcover"
- url = "https://pypi.io/packages/source/n/nosexcover/nosexcover-1.0.11.tar.gz"
+ pypi = "nosexcover/nosexcover-1.0.11.tar.gz"
version('1.0.11', sha256='298c3c655da587f6cab8a666e9f4b150320032431062dea91353988d45c8b883')
diff --git a/var/spack/repos/builtin/packages/py-notebook/package.py b/var/spack/repos/builtin/packages/py-notebook/package.py
index aa9b8799c0..039ffe511c 100644
--- a/var/spack/repos/builtin/packages/py-notebook/package.py
+++ b/var/spack/repos/builtin/packages/py-notebook/package.py
@@ -8,7 +8,7 @@ class PyNotebook(PythonPackage):
"""Jupyter Interactive Notebook"""
homepage = "https://github.com/jupyter/notebook"
- url = "https://pypi.io/packages/source/n/notebook/notebook-6.1.4.tar.gz"
+ pypi = "notebook/notebook-6.1.4.tar.gz"
version('6.1.4', sha256='687d01f963ea20360c0b904ee7a37c3d8cda553858c8d6e33fd0afd13e89de32')
version('6.0.3', sha256='47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48')
diff --git a/var/spack/repos/builtin/packages/py-numba/package.py b/var/spack/repos/builtin/packages/py-numba/package.py
index a108341740..77837c5521 100644
--- a/var/spack/repos/builtin/packages/py-numba/package.py
+++ b/var/spack/repos/builtin/packages/py-numba/package.py
@@ -10,7 +10,7 @@ class PyNumba(PythonPackage):
"""NumPy aware dynamic Python compiler using LLVM"""
homepage = "https://numba.pydata.org/"
- url = "https://pypi.io/packages/source/n/numba/numba-0.35.0.tar.gz"
+ pypi = "numba/numba-0.35.0.tar.gz"
version('0.50.1', sha256='89e81b51b880f9b18c82b7095beaccc6856fcf84ba29c4f0ced42e4e5748a3a7')
version('0.48.0', sha256='9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017')
diff --git a/var/spack/repos/builtin/packages/py-numcodecs/package.py b/var/spack/repos/builtin/packages/py-numcodecs/package.py
index 2fd992447e..cc5fe83fad 100644
--- a/var/spack/repos/builtin/packages/py-numcodecs/package.py
+++ b/var/spack/repos/builtin/packages/py-numcodecs/package.py
@@ -13,7 +13,7 @@ class PyNumcodecs(PythonPackage):
"""
homepage = "https://github.com/zarr-developers/numcodecs"
- url = "https://pypi.io/packages/source/n/numcodecs/numcodecs-0.6.4.tar.gz"
+ pypi = "numcodecs/numcodecs-0.6.4.tar.gz"
version('0.6.4', sha256='ef4843d5db4d074e607e9b85156835c10d006afc10e175bda62ff5412fca6e4d')
diff --git a/var/spack/repos/builtin/packages/py-numexpr/package.py b/var/spack/repos/builtin/packages/py-numexpr/package.py
index 21fd4bf81a..470bb7f1e1 100644
--- a/var/spack/repos/builtin/packages/py-numexpr/package.py
+++ b/var/spack/repos/builtin/packages/py-numexpr/package.py
@@ -8,7 +8,8 @@ from spack import *
class PyNumexpr(PythonPackage):
"""Fast numerical expression evaluator for NumPy"""
- homepage = "https://pypi.python.org/pypi/numexpr"
+
+ homepage = "https://github.com/pydata/numexpr"
url = "https://github.com/pydata/numexpr/archive/v2.7.0.tar.gz"
version('2.7.0', sha256='1923f038b90cc69635871968ed742be7775c879451c612f173c2547c823c9561')
diff --git a/var/spack/repos/builtin/packages/py-numexpr3/package.py b/var/spack/repos/builtin/packages/py-numexpr3/package.py
index f58baaf3f9..f6f3810696 100644
--- a/var/spack/repos/builtin/packages/py-numexpr3/package.py
+++ b/var/spack/repos/builtin/packages/py-numexpr3/package.py
@@ -18,7 +18,7 @@ class PyNumexpr3(PythonPackage):
SSE2 or AVX2, if your processor supports them. Use of a newer version of
gcc such as 5.4 is strongly recommended."""
homepage = "https://github.com/pydata/numexpr/tree/numexpr-3.0"
- url = "https://pypi.io/packages/source/n/numexpr3/numexpr3-3.0.1a1.tar.gz"
+ pypi = "numexpr3/numexpr3-3.0.1a1.tar.gz"
version('3.0.1a1', sha256='de06f1b4206704b5bc19ea09b5c94350b97c211c26bc866f275252a8461b87e6')
# TODO: Add CMake build system for better control of passing flags related
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index 4778c64916..d11c997e1b 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -16,7 +16,7 @@ class PyNumpy(PythonPackage):
number capabilities"""
homepage = "https://numpy.org/"
- pypi = "numpy/numpy-1.19.4.zip"
+ pypi = "numpy/numpy-1.19.4.zip"
git = "https://github.com/numpy/numpy.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-numpydoc/package.py b/var/spack/repos/builtin/packages/py-numpydoc/package.py
index cef8a2f7d2..aa76446a7e 100644
--- a/var/spack/repos/builtin/packages/py-numpydoc/package.py
+++ b/var/spack/repos/builtin/packages/py-numpydoc/package.py
@@ -10,7 +10,7 @@ class PyNumpydoc(PythonPackage):
"""numpydoc - Numpy's Sphinx extensions"""
homepage = "https://github.com/numpy/numpydoc"
- url = "https://pypi.io/packages/source/n/numpydoc/numpydoc-0.6.0.tar.gz"
+ pypi = "numpydoc/numpydoc-0.6.0.tar.gz"
version('0.6.0', sha256='1ec573e91f6d868a9940d90a6599f3e834a2d6c064030fbe078d922ee21dcfa1')
diff --git a/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py b/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py
index a37a50366b..3d682755f9 100644
--- a/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py
+++ b/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py
@@ -8,6 +8,6 @@ class PyNvidiaMlPy(PythonPackage):
"""Python Bindings for the NVIDIA Management Library."""
homepage = "http://www.nvidia.com/"
- url = "https://pypi.io/packages/source/n/nvidia-ml-py/nvidia-ml-py-11.450.51.tar.gz"
+ pypi = "nvidia-ml-py/nvidia-ml-py-11.450.51.tar.gz"
version('11.450.51', sha256='5aa6dd23a140b1ef2314eee5ca154a45397b03e68fd9ebc4f72005979f511c73')
diff --git a/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py b/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py
index 711f579dc9..e20fac5c3a 100644
--- a/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py
+++ b/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py
@@ -8,6 +8,6 @@ class PyNvidiaMlPy3(PythonPackage):
"""Python Bindings for the NVIDIA Management Library."""
homepage = "http://www.nvidia.com/"
- url = "https://pypi.io/packages/source/n/nvidia-ml-py3/nvidia-ml-py3-7.352.0.tar.gz"
+ pypi = "nvidia-ml-py3/nvidia-ml-py3-7.352.0.tar.gz"
version('7.352.0', sha256='390f02919ee9d73fe63a98c73101061a6b37fa694a793abf56673320f1f51277')
diff --git a/var/spack/repos/builtin/packages/py-oauth2client/package.py b/var/spack/repos/builtin/packages/py-oauth2client/package.py
index 2b05c982fc..ebc4bb6547 100644
--- a/var/spack/repos/builtin/packages/py-oauth2client/package.py
+++ b/var/spack/repos/builtin/packages/py-oauth2client/package.py
@@ -14,7 +14,7 @@ class PyOauth2client(PythonPackage):
use google-auth and oauthlib."""
homepage = "http://github.com/google/oauth2client/"
- url = "https://pypi.io/packages/source/o/oauth2client/oauth2client-4.1.3.tar.gz"
+ pypi = "oauth2client/oauth2client-4.1.3.tar.gz"
version('4.1.3', sha256='d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6')
diff --git a/var/spack/repos/builtin/packages/py-oauthlib/package.py b/var/spack/repos/builtin/packages/py-oauthlib/package.py
index d69ae5bc6c..32939a31e7 100644
--- a/var/spack/repos/builtin/packages/py-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-oauthlib/package.py
@@ -13,7 +13,7 @@ class PyOauthlib(PythonPackage):
"""
homepage = "https://github.com/oauthlib/oauthlib"
- url = "https://pypi.io/packages/source/o/oauthlib/oauthlib-3.1.0.tar.gz"
+ pypi = "oauthlib/oauthlib-3.1.0.tar.gz"
version('3.1.0', sha256='bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889')
version('3.0.1', sha256='0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298')
diff --git a/var/spack/repos/builtin/packages/py-olefile/package.py b/var/spack/repos/builtin/packages/py-olefile/package.py
index 34db8febe3..c9dca72e24 100644
--- a/var/spack/repos/builtin/packages/py-olefile/package.py
+++ b/var/spack/repos/builtin/packages/py-olefile/package.py
@@ -10,7 +10,7 @@ class PyOlefile(PythonPackage):
"""Python package to parse, read and write Microsoft OLE2 files"""
homepage = "https://www.decalage.info/python/olefileio"
- url = "https://pypi.io/packages/source/o/olefile/olefile-0.44.zip"
+ pypi = "olefile/olefile-0.44.zip"
version('0.44', sha256='61f2ca0cd0aa77279eb943c07f607438edf374096b66332fae1ee64a6f0f73ad')
diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py
index f0a5838462..ce14948223 100644
--- a/var/spack/repos/builtin/packages/py-onnx/package.py
+++ b/var/spack/repos/builtin/packages/py-onnx/package.py
@@ -17,7 +17,7 @@ class PyOnnx(PythonPackage):
on the capabilities needed for inferencing (scoring)."""
homepage = "https://github.com/onnx/onnx"
- url = "https://pypi.io/packages/source/O/Onnx/onnx-1.6.0.tar.gz"
+ pypi = "Onnx/onnx-1.6.0.tar.gz"
version('1.6.0', sha256='3b88c3fe521151651a0403c4d131cb2e0311bd28b753ef692020a432a81ce345')
version('1.5.0', sha256='1a584a4ef62a6db178c257fffb06a9d8e61b41c0a80bfd8bcd8a253d72c4b0b4')
diff --git a/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py b/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py
index 9c71274e60..a707048ab8 100644
--- a/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py
+++ b/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py
@@ -15,7 +15,7 @@ class PyOntFast5Api(PythonPackage):
API, without having to directly invoke the h5py library."""
homepage = "https://github.com/nanoporetech/ont_fast5_api"
- url = "https://pypi.io/packages/source/o/ont-fast5-api/ont-fast5-api-0.3.2.tar.gz"
+ pypi = "ont-fast5-api/ont-fast5-api-0.3.2.tar.gz"
version('0.3.2', sha256='ae44b1bcd812e8acf8beff3db92456647c343cf19340f97cff4847de5cc905d8')
diff --git a/var/spack/repos/builtin/packages/py-opencensus/package.py b/var/spack/repos/builtin/packages/py-opencensus/package.py
index ef8222c9ae..5523403da8 100644
--- a/var/spack/repos/builtin/packages/py-opencensus/package.py
+++ b/var/spack/repos/builtin/packages/py-opencensus/package.py
@@ -8,7 +8,7 @@ class PyOpencensus(PythonPackage):
"""A stats collection and distributed tracing framework."""
homepage = "https://github.com/census-instrumentation/opencensus-python"
- url = "https://pypi.io/packages/source/o/opencensus/opencensus-0.7.10.tar.gz"
+ pypi = "opencensus/opencensus-0.7.10.tar.gz"
version('0.7.10', sha256='2921e3e570cfadfd123cd8e3636a405031367fddff74c55d3fe627a4cf8b981c')
diff --git a/var/spack/repos/builtin/packages/py-openpyxl/package.py b/var/spack/repos/builtin/packages/py-openpyxl/package.py
index f929fe6a9b..dcc79494db 100644
--- a/var/spack/repos/builtin/packages/py-openpyxl/package.py
+++ b/var/spack/repos/builtin/packages/py-openpyxl/package.py
@@ -10,7 +10,7 @@ class PyOpenpyxl(PythonPackage):
"""A Python library to read/write Excel 2010 xlsx/xlsm files"""
homepage = "http://openpyxl.readthedocs.org/"
- url = "https://pypi.io/packages/source/o/openpyxl/openpyxl-3.0.3.tar.gz"
+ pypi = "openpyxl/openpyxl-3.0.3.tar.gz"
version('3.0.3', sha256='547a9fc6aafcf44abe358b89ed4438d077e9d92e4f182c87e2dc294186dc4b64')
version('2.4.5', sha256='78c331e819fb0a63a1339d452ba0b575d1a31f09fdcce793a31bec7e9ef4ef21')
diff --git a/var/spack/repos/builtin/packages/py-opt-einsum/package.py b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
index 9bf9c57fd2..d43756c3d4 100644
--- a/var/spack/repos/builtin/packages/py-opt-einsum/package.py
+++ b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
@@ -10,7 +10,7 @@ class PyOptEinsum(PythonPackage):
"""Optimized Einsum: A tensor contraction order optimizer."""
homepage = "https://github.com/dgasmith/opt_einsum"
- url = "https://pypi.io/packages/source/o/opt_einsum/opt_einsum-3.1.0.tar.gz"
+ pypi = "opt_einsum/opt_einsum-3.1.0.tar.gz"
version('3.2.1', sha256='83b76a98d18ae6a5cc7a0d88955a7f74881f0e567a0f4c949d24c942753eb998')
version('3.2.0', sha256='738b0a1db1d3084d360081bb64d826f9db06d2df7cc0bf8e2c9356028da1fa31')
diff --git a/var/spack/repos/builtin/packages/py-ordereddict/package.py b/var/spack/repos/builtin/packages/py-ordereddict/package.py
index f26d76e049..43b40abc35 100644
--- a/var/spack/repos/builtin/packages/py-ordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-ordereddict/package.py
@@ -10,7 +10,6 @@ class PyOrdereddict(PythonPackage):
"""A drop-in substitute for Py2.7's new collections.
OrderedDict that works in Python 2.4-2.6."""
- homepage = "https://pypi.python.org/pypi/ordereddict"
- url = "https://pypi.io/packages/source/o/ordereddict/ordereddict-1.1.tar.gz"
+ pypi = "ordereddict/ordereddict-1.1.tar.gz"
version('1.1', sha256='1c35b4ac206cef2d24816c89f89cf289dd3d38cf7c449bb3fab7bf6d43f01b1f')
diff --git a/var/spack/repos/builtin/packages/py-oset/package.py b/var/spack/repos/builtin/packages/py-oset/package.py
index 7bbf9fac62..311428cbd9 100644
--- a/var/spack/repos/builtin/packages/py-oset/package.py
+++ b/var/spack/repos/builtin/packages/py-oset/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyOset(PythonPackage):
"""Set that remembers original insertion order."""
- homepage = "https://pypi.python.org/pypi/oset"
- url = "https://pypi.io/packages/source/o/oset/oset-0.1.3.tar.gz"
+ pypi = "oset/oset-0.1.3.tar.gz"
version('0.1.3', sha256='4c1fd7dec96eeff9d3260995a8e37f9f415d0bdb79975f57824e68716ac8f904')
diff --git a/var/spack/repos/builtin/packages/py-osqp/package.py b/var/spack/repos/builtin/packages/py-osqp/package.py
index 1bec5cdf49..0cc2823094 100644
--- a/var/spack/repos/builtin/packages/py-osqp/package.py
+++ b/var/spack/repos/builtin/packages/py-osqp/package.py
@@ -11,7 +11,7 @@ class PyOsqp(PythonPackage):
"""OSQP: The Operator Splitting QP Solver"""
homepage = "https://osqp.org/"
- url = "https://pypi.io/packages/source/o/osqp/osqp-0.6.1.tar.gz"
+ pypi = "osqp/osqp-0.6.1.tar.gz"
version('0.6.1', sha256='47b17996526d6ecdf35cfaead6e3e05d34bc2ad48bcb743153cefe555ecc0e8c')
diff --git a/var/spack/repos/builtin/packages/py-overpy/package.py b/var/spack/repos/builtin/packages/py-overpy/package.py
index 80262e03bd..319054a126 100644
--- a/var/spack/repos/builtin/packages/py-overpy/package.py
+++ b/var/spack/repos/builtin/packages/py-overpy/package.py
@@ -10,7 +10,7 @@ class PyOverpy(PythonPackage):
"""A Python Wrapper to access the Overpass API."""
homepage = "https://github.com/DinoTools/python-overpy"
- url = "https://pypi.io/packages/source/o/overpy/overpy-0.4.tar.gz"
+ pypi = "overpy/overpy-0.4.tar.gz"
version('0.4', sha256='6e5bfcd9368f0c33a5d7615b18dbcac18444157f447639287c6743aa2de8964d')
version('0.3.1', sha256='3c6f6afe262ccf50c983617fc4ec5f381c2e1f6391aa974fbcc39203802bc3ff')
diff --git a/var/spack/repos/builtin/packages/py-owslib/package.py b/var/spack/repos/builtin/packages/py-owslib/package.py
index 459dab7727..647933c9eb 100644
--- a/var/spack/repos/builtin/packages/py-owslib/package.py
+++ b/var/spack/repos/builtin/packages/py-owslib/package.py
@@ -12,7 +12,7 @@ class PyOwslib(PythonPackage):
related content models."""
homepage = "http://http://geopython.github.io/OWSLib/#installation"
- url = "https://pypi.io/packages/source/O/OWSLib/OWSLib-0.16.0.tar.gz"
+ pypi = "OWSLib/OWSLib-0.16.0.tar.gz"
version('0.17.1', sha256='b2e7fd694d3cffcee79317bad492d60c0aa887aea6916517c051c3247b33b5a5')
version('0.16.0', sha256='ec95a5e93c145a5d84b0074b9ea27570943486552a669151140debf08a100554')
diff --git a/var/spack/repos/builtin/packages/py-packaging/package.py b/var/spack/repos/builtin/packages/py-packaging/package.py
index 89ed821735..a68c11dc61 100644
--- a/var/spack/repos/builtin/packages/py-packaging/package.py
+++ b/var/spack/repos/builtin/packages/py-packaging/package.py
@@ -10,7 +10,7 @@ class PyPackaging(PythonPackage):
"""Core utilities for Python packages."""
homepage = "https://github.com/pypa/packaging"
- url = "https://pypi.io/packages/source/p/packaging/packaging-19.2.tar.gz"
+ pypi = "packaging/packaging-19.2.tar.gz"
version('19.2', sha256='28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47')
version('19.1', sha256='c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe')
diff --git a/var/spack/repos/builtin/packages/py-palettable/package.py b/var/spack/repos/builtin/packages/py-palettable/package.py
index aa17c77c4b..0ea1c8d31e 100644
--- a/var/spack/repos/builtin/packages/py-palettable/package.py
+++ b/var/spack/repos/builtin/packages/py-palettable/package.py
@@ -10,7 +10,7 @@ class PyPalettable(PythonPackage):
"""Color palettes for Python."""
homepage = "https://jiffyclub.github.io/palettable/"
- url = "https://pypi.io/packages/source/p/palettable/palettable-3.0.0.tar.gz"
+ pypi = "palettable/palettable-3.0.0.tar.gz"
version('3.3.0', sha256='72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd')
version('3.0.0', sha256='eed9eb0399386ff42f90ca61d4fa38a1819a93d5adfc2d546e3e2869d9972c31')
diff --git a/var/spack/repos/builtin/packages/py-pamela/package.py b/var/spack/repos/builtin/packages/py-pamela/package.py
index 58312ce3c3..5c901ba8d3 100644
--- a/var/spack/repos/builtin/packages/py-pamela/package.py
+++ b/var/spack/repos/builtin/packages/py-pamela/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPamela(PythonPackage):
"""Python wrapper for PAM"""
- homepage = "https://pypi.org/project/pamela/"
- url = "https://pypi.io/packages/source/p/pamela/pamela-1.0.0.tar.gz"
+ pypi = "pamela/pamela-1.0.0.tar.gz"
version('1.0.0', sha256='65c9389bef7d1bb0b168813b6be21964df32016923aac7515bdf05366acbab6c')
diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py
index 2e9bfc1848..a4acdf25a1 100644
--- a/var/spack/repos/builtin/packages/py-pandas/package.py
+++ b/var/spack/repos/builtin/packages/py-pandas/package.py
@@ -10,7 +10,7 @@ class PyPandas(PythonPackage):
programming language."""
homepage = "https://pandas.pydata.org/"
- url = "https://pypi.io/packages/source/p/pandas/pandas-1.2.0.tar.gz"
+ pypi = "pandas/pandas-1.2.0.tar.gz"
maintainers = ['adamjstewart']
import_modules = [
diff --git a/var/spack/repos/builtin/packages/py-pandocfilters/package.py b/var/spack/repos/builtin/packages/py-pandocfilters/package.py
index 168a2363f3..e769219428 100644
--- a/var/spack/repos/builtin/packages/py-pandocfilters/package.py
+++ b/var/spack/repos/builtin/packages/py-pandocfilters/package.py
@@ -10,6 +10,6 @@ class PyPandocfilters(PythonPackage):
"""A python module for writing pandoc filters"""
homepage = "https://github.com/jgm/pandocfilters"
- url = "https://pypi.io/packages/source/p/pandocfilters/pandocfilters-1.4.2.tar.gz"
+ pypi = "pandocfilters/pandocfilters-1.4.2.tar.gz"
version('1.4.2', sha256='b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9')
diff --git a/var/spack/repos/builtin/packages/py-parameterized/package.py b/var/spack/repos/builtin/packages/py-parameterized/package.py
index ff68c38080..bd9143ddb5 100644
--- a/var/spack/repos/builtin/packages/py-parameterized/package.py
+++ b/var/spack/repos/builtin/packages/py-parameterized/package.py
@@ -10,7 +10,7 @@ class PyParameterized(PythonPackage):
"""Parameterized testing with any Python test framework."""
homepage = "https://github.com/wolever/parameterized"
- url = "https://pypi.io/packages/source/p/parameterized/parameterized-0.7.1.tar.gz"
+ pypi = "parameterized/parameterized-0.7.1.tar.gz"
version('0.7.1', sha256='6a94dbea30c6abde99fd4c2f2042c1bf7f980e48908bf92ead62394f93cf57ed')
diff --git a/var/spack/repos/builtin/packages/py-paramiko/package.py b/var/spack/repos/builtin/packages/py-paramiko/package.py
index db07fccd09..4052f58c80 100644
--- a/var/spack/repos/builtin/packages/py-paramiko/package.py
+++ b/var/spack/repos/builtin/packages/py-paramiko/package.py
@@ -11,7 +11,7 @@ class PyParamiko(PythonPackage):
"""SSH2 protocol library"""
homepage = "http://www.paramiko.org/"
- url = "https://pypi.io/packages/source/p/paramiko/paramiko-2.7.1.tar.gz"
+ pypi = "paramiko/paramiko-2.7.1.tar.gz"
version('2.7.1', sha256='920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f')
version('2.1.2', sha256='5fae49bed35e2e3d45c4f7b0db2d38b9ca626312d91119b3991d0ecf8125e310')
diff --git a/var/spack/repos/builtin/packages/py-paramz/package.py b/var/spack/repos/builtin/packages/py-paramz/package.py
index 77c5996d12..050ebff816 100644
--- a/var/spack/repos/builtin/packages/py-paramz/package.py
+++ b/var/spack/repos/builtin/packages/py-paramz/package.py
@@ -10,7 +10,7 @@ class PyParamz(PythonPackage):
"""The Parameterization Framework."""
homepage = "https://github.com/sods/paramz"
- url = "https://pypi.io/packages/source/p/paramz/paramz-0.9.5.tar.gz"
+ pypi = "paramz/paramz-0.9.5.tar.gz"
version('0.9.5', sha256='0917211c0f083f344e7f1bc997e0d713dbc147b6380bc19f606119394f820b9a')
diff --git a/var/spack/repos/builtin/packages/py-parse/package.py b/var/spack/repos/builtin/packages/py-parse/package.py
index da7323e510..bc231d595e 100644
--- a/var/spack/repos/builtin/packages/py-parse/package.py
+++ b/var/spack/repos/builtin/packages/py-parse/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyParse(PythonPackage):
"""parse() is the opposite of format()"""
- homepage = "https://pypi.org/project/parse/"
- url = "https://pypi.io/packages/source/p/parse/parse-1.11.1.tar.gz"
+ pypi = "parse/parse-1.11.1.tar.gz"
version('1.18.0', sha256='91666032d6723dc5905248417ef0dc9e4c51df9526aaeef271eacad6491f06a4')
version('1.12.1', sha256='a5fca7000c6588d77bc65c28f3f21bfce03b5e44daa8f9f07c17fe364990d717')
diff --git a/var/spack/repos/builtin/packages/py-parsedatetime/package.py b/var/spack/repos/builtin/packages/py-parsedatetime/package.py
index afb8db85bb..6d257a0482 100644
--- a/var/spack/repos/builtin/packages/py-parsedatetime/package.py
+++ b/var/spack/repos/builtin/packages/py-parsedatetime/package.py
@@ -10,7 +10,7 @@ class PyParsedatetime(PythonPackage):
"""Parse human-readable date/time strings."""
homepage = "https://github.com/bear/parsedatetime"
- url = "https://pypi.io/packages/source/p/parsedatetime/parsedatetime-2.5.tar.gz"
+ pypi = "parsedatetime/parsedatetime-2.5.tar.gz"
version('2.5', sha256='d2e9ddb1e463de871d32088a3f3cea3dc8282b1b2800e081bd0ef86900451667')
diff --git a/var/spack/repos/builtin/packages/py-parso/package.py b/var/spack/repos/builtin/packages/py-parso/package.py
index cd0e93f273..4505445885 100644
--- a/var/spack/repos/builtin/packages/py-parso/package.py
+++ b/var/spack/repos/builtin/packages/py-parso/package.py
@@ -12,8 +12,7 @@ class PyParso(PythonPackage):
Parso is also able to list multiple syntax errors
in your python file."""
- homepage = "https://pypi.org/project/parso/"
- url = "https://pypi.io/packages/source/p/parso/parso-0.6.1.tar.gz"
+ pypi = "parso/parso-0.6.1.tar.gz"
version('0.6.1', sha256='56b2105a80e9c4df49de85e125feb6be69f49920e121406f15e7acde6c9dfc57')
diff --git a/var/spack/repos/builtin/packages/py-partd/package.py b/var/spack/repos/builtin/packages/py-partd/package.py
index 751968fc53..befbd7a860 100644
--- a/var/spack/repos/builtin/packages/py-partd/package.py
+++ b/var/spack/repos/builtin/packages/py-partd/package.py
@@ -10,7 +10,7 @@ class PyPartd(PythonPackage):
"""Key-value byte store with appendable values."""
homepage = "http://github.com/dask/partd/"
- url = "https://pypi.io/packages/source/p/partd/partd-0.3.8.tar.gz"
+ pypi = "partd/partd-0.3.8.tar.gz"
version('1.1.0', sha256='6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0')
version('0.3.10', sha256='33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba')
diff --git a/var/spack/repos/builtin/packages/py-particle/package.py b/var/spack/repos/builtin/packages/py-particle/package.py
index 0091a7e0c1..5afc9fe903 100644
--- a/var/spack/repos/builtin/packages/py-particle/package.py
+++ b/var/spack/repos/builtin/packages/py-particle/package.py
@@ -12,7 +12,7 @@ class PyParticle(PythonPackage):
particle information and extra goodies."""
git = "https://github.com/scikit-hep/particle.git"
- url = "https://pypi.io/packages/source/p/particle/particle-0.11.0.tar.gz"
+ pypi = "particle/particle-0.11.0.tar.gz"
homepage = "https://github.com/scikit-hep/particle"
maintainers = ['vvolkl']
diff --git a/var/spack/repos/builtin/packages/py-path-py/package.py b/var/spack/repos/builtin/packages/py-path-py/package.py
index 6d578b2d8b..820704585d 100644
--- a/var/spack/repos/builtin/packages/py-path-py/package.py
+++ b/var/spack/repos/builtin/packages/py-path-py/package.py
@@ -10,7 +10,7 @@ class PyPathPy(PythonPackage):
"""A module wrapper for os.path"""
homepage = "https://github.com/jaraco/path.py"
- url = "https://pypi.io/packages/source/p/path.py/path.py-12.0.1.tar.gz"
+ pypi = "path.py/path.py-12.0.1.tar.gz"
version('12.0.1', sha256='9f2169633403aa0423f6ec000e8701dd1819526c62465f5043952f92527fea0f')
version('5.2', sha256='9916ae9aa603ce7e131e4ac76c25bcdbf6208f8fe5cc565a5022b85dc9d7022c')
diff --git a/var/spack/repos/builtin/packages/py-pathlib/package.py b/var/spack/repos/builtin/packages/py-pathlib/package.py
index a0676b0494..3f4fd486b8 100644
--- a/var/spack/repos/builtin/packages/py-pathlib/package.py
+++ b/var/spack/repos/builtin/packages/py-pathlib/package.py
@@ -14,6 +14,6 @@ class PyPathlib(PythonPackage):
instead."""
homepage = "https://pathlib.readthedocs.org/"
- url = "https://pypi.io/packages/source/p/pathlib/pathlib-1.0.1.tar.gz"
+ pypi = "pathlib/pathlib-1.0.1.tar.gz"
version('1.0.1', sha256='6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f')
diff --git a/var/spack/repos/builtin/packages/py-pathlib2/package.py b/var/spack/repos/builtin/packages/py-pathlib2/package.py
index 10f547ce90..e6a35e4541 100644
--- a/var/spack/repos/builtin/packages/py-pathlib2/package.py
+++ b/var/spack/repos/builtin/packages/py-pathlib2/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPathlib2(PythonPackage):
"""Backport of pathlib from python 3.4"""
- homepage = "https://pypi.python.org/pypi/pathlib2"
- url = "https://pypi.io/packages/source/p/pathlib2/pathlib2-2.3.2.tar.gz"
+ pypi = "pathlib2/pathlib2-2.3.2.tar.gz"
version('2.3.3', sha256='25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742')
version('2.3.2', sha256='8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83')
diff --git a/var/spack/repos/builtin/packages/py-pathos/package.py b/var/spack/repos/builtin/packages/py-pathos/package.py
index e4b2bc6c4f..1ac8ca32cc 100644
--- a/var/spack/repos/builtin/packages/py-pathos/package.py
+++ b/var/spack/repos/builtin/packages/py-pathos/package.py
@@ -10,7 +10,7 @@ class PyPathos(PythonPackage):
"""Parallel graph management and execution in heterogeneous computing """
homepage = "https://github.com/uqfoundation/pathos"
- url = "https://pypi.io/packages/source/p/pathos/pathos-0.2.3.tar.gz"
+ pypi = "pathos/pathos-0.2.3.tar.gz"
version('0.2.3', sha256='954c5b0a8b257c375e35d311c65fa62a210a3d65269195557de38418ac9f61f9')
version('0.2.0', sha256='2f4e67e7914c95fb0cce766bab173eb2c5860ee420108fa183099557ac2e50e9')
diff --git a/var/spack/repos/builtin/packages/py-pathspec/package.py b/var/spack/repos/builtin/packages/py-pathspec/package.py
index 0db8aab2c2..167a41c2f4 100644
--- a/var/spack/repos/builtin/packages/py-pathspec/package.py
+++ b/var/spack/repos/builtin/packages/py-pathspec/package.py
@@ -10,8 +10,7 @@ class PyPathspec(PythonPackage):
"""pathspec extends the test loading and running features of unittest,
making it easier to write, find and run tests."""
- homepage = "https://pypi.python.org/pypi/pathspec"
- url = "https://pypi.io/packages/source/p/pathspec/pathspec-0.8.1.tar.gz"
+ pypi = "pathspec/pathspec-0.8.1.tar.gz"
version('0.8.1', sha256='86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd')
version('0.3.4', sha256='7605ca5c26f554766afe1d177164a2275a85bb803b76eba3428f422972f66728')
diff --git a/var/spack/repos/builtin/packages/py-patsy/package.py b/var/spack/repos/builtin/packages/py-patsy/package.py
index 6b265dbfb3..ddd99e4cb1 100644
--- a/var/spack/repos/builtin/packages/py-patsy/package.py
+++ b/var/spack/repos/builtin/packages/py-patsy/package.py
@@ -9,7 +9,7 @@ class PyPatsy(PythonPackage):
building design matrices."""
homepage = "https://github.com/pydata/patsy"
- url = "https://pypi.io/packages/source/p/patsy/patsy-0.4.1.zip"
+ pypi = "patsy/patsy-0.4.1.zip"
version('0.5.1', sha256='f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991',
url="https://pypi.io/packages/source/p/patsy/patsy-0.5.1.tar.gz")
diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py
index 27bee158f6..6c49c699cf 100644
--- a/var/spack/repos/builtin/packages/py-pbr/package.py
+++ b/var/spack/repos/builtin/packages/py-pbr/package.py
@@ -10,8 +10,7 @@ class PyPbr(PythonPackage):
"""PBR is a library that injects some useful and sensible default
behaviors into your setuptools run."""
- homepage = "https://pypi.python.org/pypi/pbr"
- url = "https://pypi.io/packages/source/p/pbr/pbr-5.4.3.tar.gz"
+ pypi = "pbr/pbr-5.4.3.tar.gz"
version('5.4.3', sha256='2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8')
version('5.2.1', sha256='93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6')
diff --git a/var/spack/repos/builtin/packages/py-pep8-naming/package.py b/var/spack/repos/builtin/packages/py-pep8-naming/package.py
index fe3e929996..e2b9c5636f 100644
--- a/var/spack/repos/builtin/packages/py-pep8-naming/package.py
+++ b/var/spack/repos/builtin/packages/py-pep8-naming/package.py
@@ -10,7 +10,7 @@ class PyPep8Naming(PythonPackage):
"""Check PEP-8 naming conventions, plugin for flake8."""
homepage = "https://github.com/PyCQA/pep8-naming"
- url = "https://pypi.io/packages/source/p/pep8-naming/pep8-naming-0.10.0.tar.gz"
+ pypi = "pep8-naming/pep8-naming-0.10.0.tar.gz"
version('0.10.0', sha256='f3b4a5f9dd72b991bf7d8e2a341d2e1aa3a884a769b5aaac4f56825c1763bf3a')
version('0.7.0', sha256='624258e0dd06ef32a9daf3c36cc925ff7314da7233209c5b01f7e5cdd3c34826')
diff --git a/var/spack/repos/builtin/packages/py-pep8/package.py b/var/spack/repos/builtin/packages/py-pep8/package.py
index ab5c65c5d2..fb9ea25c40 100644
--- a/var/spack/repos/builtin/packages/py-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pep8/package.py
@@ -10,7 +10,7 @@ class PyPep8(PythonPackage):
"""Python style guide checker (deprecated, use py-pycodestyle instead)."""
homepage = "https://pep8.readthedocs.org/"
- url = "https://pypi.io/packages/source/p/pep8/pep8-1.7.1.tar.gz"
+ pypi = "pep8/pep8-1.7.1.tar.gz"
version('1.7.1', sha256='fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374')
diff --git a/var/spack/repos/builtin/packages/py-periodictable/package.py b/var/spack/repos/builtin/packages/py-periodictable/package.py
index 253a808c0b..b8a3345195 100644
--- a/var/spack/repos/builtin/packages/py-periodictable/package.py
+++ b/var/spack/repos/builtin/packages/py-periodictable/package.py
@@ -10,8 +10,7 @@ class PyPeriodictable(PythonPackage):
"""nose extends the test loading and running features of unittest,
making it easier to write, find and run tests."""
- homepage = "https://pypi.python.org/pypi/periodictable"
- url = "https://pypi.io/packages/source/p/periodictable/periodictable-1.4.1.tar.gz"
+ pypi = "periodictable/periodictable-1.4.1.tar.gz"
version('1.5.0', sha256='b020c04c6765d21903e4604a76ca33cda98677003fe6eb48ed3690cfb03253b2')
version('1.4.1', sha256='f42e66f6efca33caec4f27dad8d6a6d4e59da147ecf5adfce152cb84e7bd160b')
diff --git a/var/spack/repos/builtin/packages/py-petastorm/package.py b/var/spack/repos/builtin/packages/py-petastorm/package.py
index 2c6cc5e34f..5440cea606 100644
--- a/var/spack/repos/builtin/packages/py-petastorm/package.py
+++ b/var/spack/repos/builtin/packages/py-petastorm/package.py
@@ -9,7 +9,7 @@ class PyPetastorm(PythonPackage):
Tensorflow, Pytorch, and other Python-based ML training frameworks."""
homepage = "https://github.com/uber/petastorm"
- url = "https://pypi.io/packages/source/p/petastorm/petastorm-0.8.2.tar.gz"
+ pypi = "petastorm/petastorm-0.8.2.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-petsc4py/package.py b/var/spack/repos/builtin/packages/py-petsc4py/package.py
index f9d1d09f42..9a8c4401e6 100644
--- a/var/spack/repos/builtin/packages/py-petsc4py/package.py
+++ b/var/spack/repos/builtin/packages/py-petsc4py/package.py
@@ -11,7 +11,7 @@ class PyPetsc4py(PythonPackage):
"""
homepage = "https://gitlab.com/petsc/petsc4py"
- url = "https://pypi.io/packages/source/p/petsc4py/petsc4py-3.14.0.tar.gz"
+ pypi = "petsc4py/petsc4py-3.14.0.tar.gz"
git = "https://gitlab.com/petsc/petsc4py.git"
maintainers = ['dalcinl', 'balay']
diff --git a/var/spack/repos/builtin/packages/py-pexpect/package.py b/var/spack/repos/builtin/packages/py-pexpect/package.py
index 174edadffc..97b5930c99 100644
--- a/var/spack/repos/builtin/packages/py-pexpect/package.py
+++ b/var/spack/repos/builtin/packages/py-pexpect/package.py
@@ -8,8 +8,7 @@ from spack import *
class PyPexpect(PythonPackage):
"""Pexpect allows easy control of interactive console applications."""
- homepage = "https://pypi.python.org/pypi/pexpect"
- url = "https://pypi.io/packages/source/p/pexpect/pexpect-4.2.1.tar.gz"
+ pypi = "pexpect/pexpect-4.2.1.tar.gz"
version('4.7.0', sha256='9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb')
version('4.6.0', sha256='2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba')
diff --git a/var/spack/repos/builtin/packages/py-pickleshare/package.py b/var/spack/repos/builtin/packages/py-pickleshare/package.py
index 3e1b7b6f01..d5c0de6f83 100644
--- a/var/spack/repos/builtin/packages/py-pickleshare/package.py
+++ b/var/spack/repos/builtin/packages/py-pickleshare/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPickleshare(PythonPackage):
"""Tiny 'shelve'-like database with concurrency support"""
- homepage = "https://pypi.python.org/pypi/pickleshare"
- url = "https://pypi.io/packages/source/p/pickleshare/pickleshare-0.7.4.tar.gz"
+ pypi = "pickleshare/pickleshare-0.7.4.tar.gz"
version('0.7.5', sha256='87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca')
version('0.7.4', sha256='84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b')
diff --git a/var/spack/repos/builtin/packages/py-pid/package.py b/var/spack/repos/builtin/packages/py-pid/package.py
index b9b20428a9..0e0bae02c4 100644
--- a/var/spack/repos/builtin/packages/py-pid/package.py
+++ b/var/spack/repos/builtin/packages/py-pid/package.py
@@ -10,7 +10,7 @@ class PyPid(PythonPackage):
"""Pidfile featuring stale detection and file-locking, can also be
used as context-manager or decorator."""
- homepage = "https://pypi.org/project/pid/"
+ homepage = "https://github.com/trbs/pid/"
url = "https://github.com/trbs/pid/archive/3.0.3.tar.gz"
version('3.0.3', sha256='082281e2f6b99b4aaa02a24ae4796c604ac17f19cdd0327b8c1ba9c2e73aadc8')
diff --git a/var/spack/repos/builtin/packages/py-pillow-simd/package.py b/var/spack/repos/builtin/packages/py-pillow-simd/package.py
index f1f6939d4c..e914eb7008 100644
--- a/var/spack/repos/builtin/packages/py-pillow-simd/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow-simd/package.py
@@ -13,7 +13,7 @@ class PyPillowSimd(PyPillowBase):
# See https://github.com/spack/spack/pull/15566
_name = 'py-pillow-simd'
homepage = "https://github.com/uploadcare/pillow-simd"
- url = "https://pypi.io/packages/source/P/Pillow-SIMD/Pillow-SIMD-7.0.0.post3.tar.gz"
+ pypi = "Pillow-SIMD/Pillow-SIMD-7.0.0.post3.tar.gz"
version('7.0.0.post3', sha256='c27907af0e7ede1ceed281719e722e7dbf3e1dbfe561373978654a6b64896cb7')
version('6.2.2.post1', sha256='d29b673ac80091797f1e8334458be307e4ac4ab871b0e495cfe56cb7b1d7704e')
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index c12b35deb5..1a9fbce13e 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -106,7 +106,7 @@ class PyPillow(PyPillowBase):
capabilities."""
homepage = "https://python-pillow.org/"
- url = "https://pypi.io/packages/source/P/Pillow/Pillow-7.2.0.tar.gz"
+ pypi = "Pillow/Pillow-7.2.0.tar.gz"
version('8.0.0', sha256='59304c67d12394815331eda95ec892bf54ad95e0aa7bc1ccd8e0a4a5a25d4bf3')
version('7.2.0', sha256='97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626')
diff --git a/var/spack/repos/builtin/packages/py-pint/package.py b/var/spack/repos/builtin/packages/py-pint/package.py
index fd2736f7c6..2c6b3b1c47 100644
--- a/var/spack/repos/builtin/packages/py-pint/package.py
+++ b/var/spack/repos/builtin/packages/py-pint/package.py
@@ -12,8 +12,7 @@ class PyPint(PythonPackage):
It allows arithmetic operations between them and conversions from and
to different units."""
- homepage = "https://pypi.org/project/Pint"
- url = "https://pypi.io/packages/source/p/pint/Pint-0.11.tar.gz"
+ pypi = "pint/Pint-0.11.tar.gz"
version('0.11', sha256='308f1070500e102f83b6adfca6db53debfce2ffc5d3cbe3f6c367da359b5cf4d')
version('0.10.1', sha256='d739c364b8326fe3d70773d5720fa8b005ea6158695cad042677a588480c86e6')
diff --git a/var/spack/repos/builtin/packages/py-pip/package.py b/var/spack/repos/builtin/packages/py-pip/package.py
index ed5171411c..0f0b735a2b 100644
--- a/var/spack/repos/builtin/packages/py-pip/package.py
+++ b/var/spack/repos/builtin/packages/py-pip/package.py
@@ -10,7 +10,7 @@ class PyPip(PythonPackage):
"""The PyPA recommended tool for installing Python packages."""
homepage = "https://pip.pypa.io/"
- url = "https://pypi.io/packages/source/p/pip/pip-20.2.tar.gz"
+ pypi = "pip/pip-20.2.tar.gz"
version('20.2', sha256='912935eb20ea6a3b5ed5810dde9754fde5563f5ca9be44a8a6e5da806ade970b')
version('19.3', sha256='324d234b8f6124846b4e390df255cacbe09ce22791c3b714aa1ea6e44a4f2861')
diff --git a/var/spack/repos/builtin/packages/py-pkgconfig/package.py b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
index 550a936dcb..5832040b0d 100644
--- a/var/spack/repos/builtin/packages/py-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
@@ -10,7 +10,7 @@ class PyPkgconfig(PythonPackage):
"""Interface Python with pkg-config."""
homepage = "http://github.com/matze/pkgconfig"
- url = "https://pypi.io/packages/source/p/pkgconfig/pkgconfig-1.2.2.tar.gz"
+ pypi = "pkgconfig/pkgconfig-1.2.2.tar.gz"
version('1.5.1', sha256='97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f')
version('1.4.0', sha256='048c3b457da7b6f686b647ab10bf09e2250e4c50acfe6f215398a8b5e6fcdb52')
diff --git a/var/spack/repos/builtin/packages/py-pkginfo/package.py b/var/spack/repos/builtin/packages/py-pkginfo/package.py
index 366f4a9471..2d8c1ea95e 100644
--- a/var/spack/repos/builtin/packages/py-pkginfo/package.py
+++ b/var/spack/repos/builtin/packages/py-pkginfo/package.py
@@ -10,7 +10,7 @@ class PyPkginfo(PythonPackage):
"""Query metadatdata from sdists / bdists / installed packages."""
homepage = "https://code.launchpad.net/~tseaver/pkginfo/trunk"
- url = "https://pypi.io/packages/source/p/pkginfo/pkginfo-1.5.0.1.tar.gz"
+ pypi = "pkginfo/pkginfo-1.5.0.1.tar.gz"
version('1.5.0.1', sha256='7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb')
diff --git a/var/spack/repos/builtin/packages/py-plac/package.py b/var/spack/repos/builtin/packages/py-plac/package.py
index 18d18cf5dd..9933704e13 100644
--- a/var/spack/repos/builtin/packages/py-plac/package.py
+++ b/var/spack/repos/builtin/packages/py-plac/package.py
@@ -8,7 +8,7 @@ class PyPlac(PythonPackage):
"""The smartest command line arguments parser in the world."""
homepage = "https://github.com/micheles/plac"
- url = "https://pypi.io/packages/source/p/plac/plac-1.1.3.tar.gz"
+ pypi = "plac/plac-1.1.3.tar.gz"
version('1.1.3', sha256='398cb947c60c4c25e275e1f1dadf027e7096858fb260b8ece3b33bcff90d985f')
diff --git a/var/spack/repos/builtin/packages/py-planar/package.py b/var/spack/repos/builtin/packages/py-planar/package.py
index b01737828f..993b081d29 100644
--- a/var/spack/repos/builtin/packages/py-planar/package.py
+++ b/var/spack/repos/builtin/packages/py-planar/package.py
@@ -10,6 +10,6 @@ class PyPlanar(PythonPackage):
"""2D planar geometry library for Python."""
homepage = "https://bitbucket.org/caseman/planar/src/default/"
- url = "https://pypi.io/packages/source/p/planar/planar-0.4.zip"
+ pypi = "planar/planar-0.4.zip"
version('0.4', sha256='cbfb9cbae8b0e296e6e7e3552b7d685c7ed5cae295b7a61f2b2b096b231dad76')
diff --git a/var/spack/repos/builtin/packages/py-planet/package.py b/var/spack/repos/builtin/packages/py-planet/package.py
index 617c0e8efc..fe05568054 100644
--- a/var/spack/repos/builtin/packages/py-planet/package.py
+++ b/var/spack/repos/builtin/packages/py-planet/package.py
@@ -10,7 +10,7 @@ class PyPlanet(PythonPackage):
"""Python client library and CLI for Planet's public API"""
homepage = "https://github.com/planetlabs/planet-client-python"
- url = "https://pypi.io/packages/source/p/planet/planet-1.4.6.tar.gz"
+ pypi = "planet/planet-1.4.6.tar.gz"
version('1.4.6', sha256='43ff6a765f465302f500aaf65b81a46ac6aad7bb42899e4a7543bdc293d4ca0d')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-plotly/package.py b/var/spack/repos/builtin/packages/py-plotly/package.py
index 7a62596eea..c0d2b2a619 100644
--- a/var/spack/repos/builtin/packages/py-plotly/package.py
+++ b/var/spack/repos/builtin/packages/py-plotly/package.py
@@ -10,7 +10,7 @@ class PyPlotly(PythonPackage):
"""An interactive, browser-based graphing library for Python"""
homepage = "https://plot.ly/python/"
- url = "https://pypi.io/packages/source/p/plotly/plotly-2.2.0.tar.gz"
+ pypi = "plotly/plotly-2.2.0.tar.gz"
version('2.2.0', sha256='ca668911ffb4d11fed6d7fbb12236f8ecc6a7209db192326bcb64bdb41451a58')
diff --git a/var/spack/repos/builtin/packages/py-pluggy/package.py b/var/spack/repos/builtin/packages/py-pluggy/package.py
index 41a6780e41..35e1898b39 100644
--- a/var/spack/repos/builtin/packages/py-pluggy/package.py
+++ b/var/spack/repos/builtin/packages/py-pluggy/package.py
@@ -10,7 +10,7 @@ class PyPluggy(PythonPackage):
"""Plugin and hook calling mechanisms for python."""
homepage = "https://github.com/pytest-dev/pluggy"
- url = "https://pypi.io/packages/source/p/pluggy/pluggy-0.13.0.tar.gz"
+ pypi = "pluggy/pluggy-0.13.0.tar.gz"
version('0.13.0', sha256='fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34')
version('0.12.0', sha256='0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc')
diff --git a/var/spack/repos/builtin/packages/py-pmw/package.py b/var/spack/repos/builtin/packages/py-pmw/package.py
index 3ccc11fef4..dd1cdf3e51 100644
--- a/var/spack/repos/builtin/packages/py-pmw/package.py
+++ b/var/spack/repos/builtin/packages/py-pmw/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPmw(PythonPackage):
"""Pmw is a toolkit for building high-level compound widgets, or
megawidgets, constructed using other widgets as component parts."""
- homepage = "https://pypi.python.org/pypi/Pmw"
- url = "https://pypi.io/packages/source/P/Pmw/Pmw-2.0.0.tar.gz"
+ pypi = "Pmw/Pmw-2.0.0.tar.gz"
version('2.0.1', sha256='0b9d28f52755a7a081b44591c3dd912054f896e56c9a627db4dd228306ad1120')
version('2.0.0', sha256='2babb2855feaabeea1003c6908b61c9d39cff606d418685f0559952714c680bb')
diff --git a/var/spack/repos/builtin/packages/py-pomegranate/package.py b/var/spack/repos/builtin/packages/py-pomegranate/package.py
index 91085ba554..a786605c8a 100644
--- a/var/spack/repos/builtin/packages/py-pomegranate/package.py
+++ b/var/spack/repos/builtin/packages/py-pomegranate/package.py
@@ -10,7 +10,7 @@ class PyPomegranate(PythonPackage):
"""Fast, flexible and easy to use probabilistic modelling in Python."""
homepage = "https://github.com/jmschrei/pomegranate"
- url = "https://pypi.io/packages/source/p/pomegranate/pomegranate-0.12.0.tar.gz"
+ pypi = "pomegranate/pomegranate-0.12.0.tar.gz"
version('0.12.0', sha256='8b00c88f7cf9cad8d38ea00ea5274821376fefb217a1128afe6b1fcac54c975a')
diff --git a/var/spack/repos/builtin/packages/py-portend/package.py b/var/spack/repos/builtin/packages/py-portend/package.py
index b039fb06aa..d8caf2857e 100644
--- a/var/spack/repos/builtin/packages/py-portend/package.py
+++ b/var/spack/repos/builtin/packages/py-portend/package.py
@@ -10,7 +10,7 @@ class PyPortend(PythonPackage):
"""TCP port monitoring and discovery """
homepage = "https://github.com/jaraco/portend"
- url = "https://pypi.io/packages/source/p/portend/portend-2.5.tar.gz"
+ pypi = "portend/portend-2.5.tar.gz"
version(
'2.5', sha256='19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9')
diff --git a/var/spack/repos/builtin/packages/py-poster/package.py b/var/spack/repos/builtin/packages/py-poster/package.py
index a5fde5f22d..44603399e4 100644
--- a/var/spack/repos/builtin/packages/py-poster/package.py
+++ b/var/spack/repos/builtin/packages/py-poster/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyPoster(PythonPackage):
"""Streaming HTTP uploads and multipart/form-data encoding."""
- homepage = "https://pypi.org/project/poster/"
+ homepage = "https://atlee.ca/software/poster"
url = "https://atlee.ca/software/poster/dist/0.8.1/poster-0.8.1.tar.gz"
version('0.8.1', sha256='af5bf45da4a916db2b638cffd9e9d6668b33020e2b8ca9f864db79b49331c6ff')
diff --git a/var/spack/repos/builtin/packages/py-pox/package.py b/var/spack/repos/builtin/packages/py-pox/package.py
index 5ab43df6b4..fc55cd5cee 100644
--- a/var/spack/repos/builtin/packages/py-pox/package.py
+++ b/var/spack/repos/builtin/packages/py-pox/package.py
@@ -10,7 +10,7 @@ class PyPox(PythonPackage):
"""Utilities for filesystem exploration and automated builds."""
homepage = "https://github.com/uqfoundation/pox"
- url = "https://pypi.io/packages/source/p/pox/pox-0.2.5.tar.gz"
+ pypi = "pox/pox-0.2.5.tar.gz"
version('0.2.5', sha256='2b53fbdf02596240483dc2cb94f94cc21252ad1b1858c7b1c151afeec9022cc8')
version('0.2.3', sha256='d3e8167a1ebe08ae56262a0b9359118d90bc4648cd284b5d10ae240343100a75')
diff --git a/var/spack/repos/builtin/packages/py-ppft/package.py b/var/spack/repos/builtin/packages/py-ppft/package.py
index 810d61c315..1f4c636f5f 100644
--- a/var/spack/repos/builtin/packages/py-ppft/package.py
+++ b/var/spack/repos/builtin/packages/py-ppft/package.py
@@ -10,7 +10,7 @@ class PyPpft(PythonPackage):
"""Distributed and parallel python """
homepage = "https://github.com/uqfoundation/ppft"
- url = "https://pypi.io/packages/source/p/ppft/ppft-1.6.4.9.tar.gz"
+ pypi = "ppft/ppft-1.6.4.9.tar.gz"
version('1.6.4.9', sha256='5537b00afb7b247da0f59cc57ee5680178be61c8b2e21b5a0672b70a3d247791')
version('1.6.4.7.1', sha256='f94b26491b4a36adc975fc51dba7568089a24756007a3a4ef3414a98d7337651')
diff --git a/var/spack/repos/builtin/packages/py-pre-commit/package.py b/var/spack/repos/builtin/packages/py-pre-commit/package.py
index 5a6c381118..9d5bcfc6bd 100644
--- a/var/spack/repos/builtin/packages/py-pre-commit/package.py
+++ b/var/spack/repos/builtin/packages/py-pre-commit/package.py
@@ -11,7 +11,7 @@ class PyPreCommit(PythonPackage):
hooks."""
homepage = "https://github.com/pre-commit/pre-commit"
- url = "https://pypi.io/packages/source/p/pre_commit/pre_commit-1.20.0.tar.gz"
+ pypi = "pre_commit/pre_commit-1.20.0.tar.gz"
version('1.20.0', sha256='9f152687127ec90642a2cc3e4d9e1e6240c4eb153615cb02aa1ad41d331cbb6e')
diff --git a/var/spack/repos/builtin/packages/py-preshed/package.py b/var/spack/repos/builtin/packages/py-preshed/package.py
index 1798c1fbdc..ab516f4f3a 100644
--- a/var/spack/repos/builtin/packages/py-preshed/package.py
+++ b/var/spack/repos/builtin/packages/py-preshed/package.py
@@ -8,7 +8,7 @@ class PyPreshed(PythonPackage):
"""preshed: Cython Hash Table for Pre-Hashed Keys."""
homepage = "https://github.com/explosion/preshed"
- url = "https://pypi.io/packages/source/p/preshed/preshed-3.0.2.tar.gz"
+ pypi = "preshed/preshed-3.0.2.tar.gz"
version('3.0.2', sha256='61d73468c97c1d6d5a048de0b01d5a6fd052123358aca4823cdb277e436436cb')
diff --git a/var/spack/repos/builtin/packages/py-prettytable/package.py b/var/spack/repos/builtin/packages/py-prettytable/package.py
index b2969b6e1f..146124a80d 100644
--- a/var/spack/repos/builtin/packages/py-prettytable/package.py
+++ b/var/spack/repos/builtin/packages/py-prettytable/package.py
@@ -13,7 +13,7 @@ class PyPrettytable(PythonPackage):
"""
homepage = "https://code.google.com/archive/p/prettytable/"
- url = "https://pypi.io/packages/source/p/prettytable/prettytable-0.7.2.tar.gz"
+ pypi = "prettytable/prettytable-0.7.2.tar.gz"
version('0.7.2', sha256='2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9')
diff --git a/var/spack/repos/builtin/packages/py-profilehooks/package.py b/var/spack/repos/builtin/packages/py-profilehooks/package.py
index 47b52a455c..fdaed1d2cd 100644
--- a/var/spack/repos/builtin/packages/py-profilehooks/package.py
+++ b/var/spack/repos/builtin/packages/py-profilehooks/package.py
@@ -10,7 +10,7 @@ class PyProfilehooks(PythonPackage):
"""Python decorators for profiling/tracing/timing a single function"""
homepage = "https://mg.pov.lt/profilehooks/"
- url = "https://pypi.io/packages/source/p/profilehooks/profilehooks-1.11.2.tar.gz"
+ pypi = "profilehooks/profilehooks-1.11.2.tar.gz"
git = "https://github.com/mgedmin/profilehooks.git"
diff --git a/var/spack/repos/builtin/packages/py-progress/package.py b/var/spack/repos/builtin/packages/py-progress/package.py
index cff57e9f77..421e7b76ba 100644
--- a/var/spack/repos/builtin/packages/py-progress/package.py
+++ b/var/spack/repos/builtin/packages/py-progress/package.py
@@ -10,7 +10,7 @@ class PyProgress(PythonPackage):
"""Easy progress reporting for Python"""
homepage = "https://github.com/verigak/progress/"
- url = "https://pypi.io/packages/source/p/progress/progress-1.4.tar.gz"
+ pypi = "progress/progress-1.4.tar.gz"
version('1.4', sha256='5e2f9da88ed8236a76fffbee3ceefd259589cf42dfbc2cec2877102189fae58a')
diff --git a/var/spack/repos/builtin/packages/py-progressbar2/package.py b/var/spack/repos/builtin/packages/py-progressbar2/package.py
index 196d303591..3387f40cf9 100644
--- a/var/spack/repos/builtin/packages/py-progressbar2/package.py
+++ b/var/spack/repos/builtin/packages/py-progressbar2/package.py
@@ -11,7 +11,7 @@ class PyProgressbar2(PythonPackage):
"""A progress bar for Python 2 and Python 3"""
homepage = "https://github.com/WoLpH/python-progressbar"
- url = "https://pypi.io/packages/source/p/progressbar2/progressbar2-3.50.1.tar.gz"
+ pypi = "progressbar2/progressbar2-3.50.1.tar.gz"
version('3.50.1', sha256='2c21c14482016162852c8265da03886c2b4dea6f84e5a817ad9b39f6bd82a772')
version('3.39.3', sha256='8e5b5419e04193bb7c3fea71579937bbbcd64c26472b929718c2fe7ec420fe39')
diff --git a/var/spack/repos/builtin/packages/py-prometheus-client/package.py b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
index afb0f282e1..ecff7f252c 100644
--- a/var/spack/repos/builtin/packages/py-prometheus-client/package.py
+++ b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPrometheusClient(PythonPackage):
"""Prometheus instrumentation library for Python applications."""
- homepage = "https://pypi.org/project/prometheus_client/"
- url = "https://pypi.io/packages/source/p/prometheus_client/prometheus_client-0.7.1.tar.gz"
+ pypi = "prometheus_client/prometheus_client-0.7.1.tar.gz"
version('0.7.1', sha256='71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da')
version('0.7.0', sha256='ee0c90350595e4a9f36591f291e6f9933246ea67d7cd7d1d6139a9781b14eaae')
diff --git a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
index ea23b23181..8cf63a2381 100644
--- a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPromptToolkit(PythonPackage):
"""Library for building powerful interactive command lines in Python"""
- homepage = "https://pypi.python.org/pypi/prompt_toolkit"
- url = "https://pypi.io/packages/source/p/prompt_toolkit/prompt_toolkit-1.0.9.tar.gz"
+ pypi = "prompt_toolkit/prompt_toolkit-1.0.9.tar.gz"
version('3.0.7', sha256='822f4605f28f7d2ba6b0b09a31e25e140871e96364d1d377667b547bb3bf4489')
version('2.0.9', sha256='2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1')
diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py
index 7cacda0416..0695207d6f 100644
--- a/var/spack/repos/builtin/packages/py-protobuf/package.py
+++ b/var/spack/repos/builtin/packages/py-protobuf/package.py
@@ -15,7 +15,7 @@ class PyProtobuf(PythonPackage):
and using a variety of languages."""
homepage = 'https://developers.google.com/protocol-buffers/'
- url = 'https://pypi.io/packages/source/p/protobuf/protobuf-3.11.0.tar.gz'
+ pypi = 'protobuf/protobuf-3.11.0.tar.gz'
variant('cpp', default=False,
description='Enable the cpp implementation')
diff --git a/var/spack/repos/builtin/packages/py-psutil/package.py b/var/spack/repos/builtin/packages/py-psutil/package.py
index 70f898de39..a1aa55f122 100644
--- a/var/spack/repos/builtin/packages/py-psutil/package.py
+++ b/var/spack/repos/builtin/packages/py-psutil/package.py
@@ -11,8 +11,7 @@ class PyPsutil(PythonPackage):
running processes and system utilization (CPU, memory, disks, network)
in Python."""
- homepage = "https://pypi.python.org/pypi/psutil"
- url = "https://pypi.io/packages/source/p/psutil/psutil-5.6.3.tar.gz"
+ pypi = "psutil/psutil-5.6.3.tar.gz"
version('5.7.2', sha256='90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb')
version('5.6.3', sha256='863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3')
diff --git a/var/spack/repos/builtin/packages/py-ptyprocess/package.py b/var/spack/repos/builtin/packages/py-ptyprocess/package.py
index 2e8c3cd5c6..3778ea7747 100644
--- a/var/spack/repos/builtin/packages/py-ptyprocess/package.py
+++ b/var/spack/repos/builtin/packages/py-ptyprocess/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPtyprocess(PythonPackage):
"""Run a subprocess in a pseudo terminal"""
- homepage = "https://pypi.python.org/pypi/ptyprocess"
- url = "https://pypi.io/packages/source/p/ptyprocess/ptyprocess-0.5.1.tar.gz"
+ pypi = "ptyprocess/ptyprocess-0.5.1.tar.gz"
version('0.6.0', sha256='923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0')
version('0.5.1', sha256='0530ce63a9295bfae7bd06edc02b6aa935619f486f0f1dc0972f516265ee81a6')
diff --git a/var/spack/repos/builtin/packages/py-pudb/package.py b/var/spack/repos/builtin/packages/py-pudb/package.py
index 4d7b43b7f0..c7a9bcb7c3 100644
--- a/var/spack/repos/builtin/packages/py-pudb/package.py
+++ b/var/spack/repos/builtin/packages/py-pudb/package.py
@@ -11,7 +11,7 @@ class PyPudb(PythonPackage):
"""Full-screen console debugger for Python"""
homepage = "http://mathema.tician.de/software/pudb"
- url = "https://pypi.io/packages/source/p/pudb/pudb-2017.1.1.tar.gz"
+ pypi = "pudb/pudb-2017.1.1.tar.gz"
version('2017.1.1', sha256='87117640902c5f602c8517d0167eb5c953a5bdede97975ba29ff17e3d570442c')
version('2016.2', sha256='e958d7f7b1771cf297714e95054075df3b2a47455d7a740be4abbbd41289505a')
diff --git a/var/spack/repos/builtin/packages/py-pure-sasl/package.py b/var/spack/repos/builtin/packages/py-pure-sasl/package.py
index 81149d3889..9506262a16 100644
--- a/var/spack/repos/builtin/packages/py-pure-sasl/package.py
+++ b/var/spack/repos/builtin/packages/py-pure-sasl/package.py
@@ -11,7 +11,7 @@ class PyPureSasl(PythonPackage):
DIGEST-MD5, and GSSAPI are provided."""
homepage = "http://github.com/thobbs/pure-sasl"
- url = "https://pypi.io/packages/source/p/pure-sasl/pure-sasl-0.6.2.tar.gz"
+ pypi = "pure-sasl/pure-sasl-0.6.2.tar.gz"
version('0.6.2', sha256='53c1355f5da95e2b85b2cc9a6af435518edc20c81193faa0eea65fdc835138f4')
diff --git a/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py b/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py
index 9e56235f18..4a3aeb72d2 100644
--- a/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py
+++ b/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py
@@ -10,7 +10,7 @@ class PyPyCpuinfo(PythonPackage):
"""Get CPU info with pure Python 2 & 3"""
homepage = "https://github.com/workhorsy/py-cpuinfo"
- url = "https://pypi.io/packages/source/p/py-cpuinfo/py-cpuinfo-0.2.3.tar.gz"
+ pypi = "py-cpuinfo/py-cpuinfo-0.2.3.tar.gz"
version('0.2.3', sha256='f6a016fdbc4e7fadf2d519090fcb4fa9d0831bad4e85245d938e5c2fe7623ca6')
diff --git a/var/spack/repos/builtin/packages/py-py/package.py b/var/spack/repos/builtin/packages/py-py/package.py
index e7320a0124..7315c2b2d1 100644
--- a/var/spack/repos/builtin/packages/py-py/package.py
+++ b/var/spack/repos/builtin/packages/py-py/package.py
@@ -10,7 +10,7 @@ class PyPy(PythonPackage):
"""Library with cross-python path, ini-parsing, io, code, log facilities"""
homepage = "http://pylib.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/p/py/py-1.8.0.tar.gz"
+ pypi = "py/py-1.8.0.tar.gz"
version('1.8.0', sha256='dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53')
version('1.5.4', sha256='3fd59af7435864e1a243790d322d763925431213b6b8529c6ca71081ace3bbf7')
diff --git a/var/spack/repos/builtin/packages/py-py2bit/package.py b/var/spack/repos/builtin/packages/py-py2bit/package.py
index 7df420e00d..71886e08d2 100644
--- a/var/spack/repos/builtin/packages/py-py2bit/package.py
+++ b/var/spack/repos/builtin/packages/py-py2bit/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPy2bit(PythonPackage):
"""A package for accessing 2bit files using lib2bit."""
- homepage = "https://pypi.python.org/pypi/py2bit"
- url = "https://pypi.io/packages/source/p/py2bit/py2bit-0.2.1.tar.gz"
+ pypi = "py2bit/py2bit-0.2.1.tar.gz"
version('0.2.1', sha256='34f7ac22be0eb4b5493063826bcc2016a78eb216bb7130890b50f3572926aeb1')
diff --git a/var/spack/repos/builtin/packages/py-py2neo/package.py b/var/spack/repos/builtin/packages/py-py2neo/package.py
index 69e98d7b0b..77385a926d 100644
--- a/var/spack/repos/builtin/packages/py-py2neo/package.py
+++ b/var/spack/repos/builtin/packages/py-py2neo/package.py
@@ -11,7 +11,7 @@ class PyPy2neo(PythonPackage):
within Python applications and from the command line."""
homepage = "http://py2neo.org/"
- url = "https://pypi.io/packages/source/p/py2neo/py2neo-2.0.8.tar.gz"
+ pypi = "py2neo/py2neo-2.0.8.tar.gz"
version('4.3.0', sha256='a218ccb4b636e3850faa6b74ebad80f00600217172a57f745cf223d38a219222')
version('2.0.8', sha256='06167f5a91a0d9b9b73431baacd876f2d507650a681fdce1fcf3b383a9b991c1')
diff --git a/var/spack/repos/builtin/packages/py-py4j/package.py b/var/spack/repos/builtin/packages/py-py4j/package.py
index e291dac918..a7ac04dbc0 100644
--- a/var/spack/repos/builtin/packages/py-py4j/package.py
+++ b/var/spack/repos/builtin/packages/py-py4j/package.py
@@ -11,7 +11,7 @@ class PyPy4j(PythonPackage):
objects."""
homepage = "https://www.py4j.org/"
- url = "https://pypi.io/packages/source/p/py4j/py4j-0.10.4.zip"
+ pypi = "py4j/py4j-0.10.4.zip"
version('0.10.7', sha256='721189616b3a7d28212dfb2e7c6a1dd5147b03105f1fc37ff2432acd0e863fa5')
version('0.10.6', sha256='d3e7ac7c2171c290eba87e70aa5095b7eb6d6ad34789c007c88d550d9f575083')
diff --git a/var/spack/repos/builtin/packages/py-py6s/package.py b/var/spack/repos/builtin/packages/py-py6s/package.py
index 4afd65d000..5e44e69288 100644
--- a/var/spack/repos/builtin/packages/py-py6s/package.py
+++ b/var/spack/repos/builtin/packages/py-py6s/package.py
@@ -14,7 +14,7 @@ class PyPy6s(PythonPackage):
"""
homepage = "http://py6s.rtwilson.com/"
- url = "https://pypi.io/packages/source/p/py6s/Py6S-1.8.0.tar.gz"
+ pypi = "py6s/Py6S-1.8.0.tar.gz"
version('1.8.0', sha256='256162d2f1f558e601d4f79022c037a0051838ba307b9f4d1f5fcf0b46a0c277')
diff --git a/var/spack/repos/builtin/packages/py-pyani/package.py b/var/spack/repos/builtin/packages/py-pyani/package.py
index afa5fdf640..435ad87218 100644
--- a/var/spack/repos/builtin/packages/py-pyani/package.py
+++ b/var/spack/repos/builtin/packages/py-pyani/package.py
@@ -14,7 +14,7 @@ class PyPyani(PythonPackage):
with SGE/OGE-type job schedulers for the sequence comparisons."""
homepage = "http://widdowquinn.github.io/pyani"
- url = "https://pypi.io/packages/source/p/pyani/pyani-0.2.7.tar.gz"
+ pypi = "pyani/pyani-0.2.7.tar.gz"
version('0.2.7', sha256='dbc6c71c46fbbfeced3f8237b84474221268b51170caf044bec8559987a7deb9')
version('0.2.6', sha256='e9d899bccfefaabe7bfa17d48eef9c713d321d2d15465f7328c8984807c3dd8d')
diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py
index 0e1c73909e..aa0e47a24a 100644
--- a/var/spack/repos/builtin/packages/py-pyarrow/package.py
+++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py
@@ -13,7 +13,7 @@ class PyPyarrow(PythonPackage, CudaPackage):
"""
homepage = "https://arrow.apache.org"
- url = 'https://pypi.io/packages/source/p/pyarrow/pyarrow-0.17.1.tar.gz'
+ pypi = 'pyarrow/pyarrow-0.17.1.tar.gz'
version('0.17.1', sha256='278d11800c2e0f9bea6314ef718b2368b4046ba24b6c631c14edad5a1d351e49')
version('0.15.1', sha256='7ad074690ba38313067bf3bbda1258966d38e2037c035d08b9ffe3cce07747a5')
diff --git a/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py b/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
index 649d0e367e..8e93a6eb36 100644
--- a/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
+++ b/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
@@ -12,7 +12,7 @@ class PyPyasn1Modules(PythonPackage):
structures (X.509, PKCS etc.)."""
homepage = "https://github.com/etingof/pyasn1-modules"
- url = "https://pypi.io/packages/source/p/pyasn1-modules/pyasn1-modules-0.2.6.tar.gz"
+ pypi = "pyasn1-modules/pyasn1-modules-0.2.6.tar.gz"
version('0.2.6', sha256='43c17a83c155229839cc5c6b868e8d0c6041dba149789b6d6e28801c64821722')
version('0.2.5', sha256='ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96')
diff --git a/var/spack/repos/builtin/packages/py-pyasn1/package.py b/var/spack/repos/builtin/packages/py-pyasn1/package.py
index ea95f32844..c92727ad32 100644
--- a/var/spack/repos/builtin/packages/py-pyasn1/package.py
+++ b/var/spack/repos/builtin/packages/py-pyasn1/package.py
@@ -12,7 +12,7 @@ class PyPyasn1(PythonPackage):
(X.208)."""
homepage = "https://github.com/etingof/pyasn1"
- url = "https://pypi.io/packages/source/p/pyasn1/pyasn1-0.4.6.tar.gz"
+ pypi = "pyasn1/pyasn1-0.4.6.tar.gz"
version('0.4.6', sha256='b773d5c9196ffbc3a1e13bdf909d446cad80a039aa3340bcad72f395b76ebc86')
version('0.4.5', sha256='da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7')
diff --git a/var/spack/repos/builtin/packages/py-pybigwig/package.py b/var/spack/repos/builtin/packages/py-pybigwig/package.py
index 41f6ee7ffa..8c02ceb9dd 100644
--- a/var/spack/repos/builtin/packages/py-pybigwig/package.py
+++ b/var/spack/repos/builtin/packages/py-pybigwig/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPybigwig(PythonPackage):
"""A package for accessing bigWig files using libBigWig."""
- homepage = "https://pypi.python.org/pypi/pyBigWig"
- url = "https://pypi.io/packages/source/p/pyBigWig/pyBigWig-0.3.4.tar.gz"
+ pypi = "pyBigWig/pyBigWig-0.3.4.tar.gz"
version('0.3.12', sha256='e01991790ece496bf6d3f00778dcfb136dd9ca0fd28acc1b3fb43051ad9b8403')
version('0.3.4', sha256='8c97a19218023190041c0e426f1544f7a4944a7bb4568faca1d85f1975af9ee2')
diff --git a/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py b/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
index c27deb76eb..a929a5521d 100644
--- a/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPybtexDocutils(PythonPackage):
"""A docutils backend for pybtex."""
- homepage = "https://pypi.python.org/pypi/pybtex-docutils/"
- url = "https://pypi.io/packages/source/p/pybtex-docutils/pybtex-docutils-0.2.1.tar.gz"
+ pypi = "pybtex-docutils/pybtex-docutils-0.2.1.tar.gz"
version('0.2.2', sha256='ea90935da188a0f4de2fe6b32930e185c33a0e306154322ccc12e519ebb5fa7d')
version('0.2.1', sha256='e4b075641c1d68a3e98a6d73ad3d029293fcf9e0773512315ef9c8482f251337')
diff --git a/var/spack/repos/builtin/packages/py-pybtex/package.py b/var/spack/repos/builtin/packages/py-pybtex/package.py
index 2df63fbd46..79243052e9 100644
--- a/var/spack/repos/builtin/packages/py-pybtex/package.py
+++ b/var/spack/repos/builtin/packages/py-pybtex/package.py
@@ -12,7 +12,7 @@ class PyPybtex(PythonPackage):
Python."""
homepage = "https://pybtex.org"
- url = "https://pypi.io/packages/source/P/Pybtex/pybtex-0.21.tar.gz"
+ pypi = "Pybtex/pybtex-0.21.tar.gz"
version('0.21', sha256='af8a6c7c74954ad305553b118d2757f68bc77c5dd5d5de2cc1fd16db90046000')
diff --git a/var/spack/repos/builtin/packages/py-pycairo/package.py b/var/spack/repos/builtin/packages/py-pycairo/package.py
index a8838cfa19..0915b98609 100644
--- a/var/spack/repos/builtin/packages/py-pycairo/package.py
+++ b/var/spack/repos/builtin/packages/py-pycairo/package.py
@@ -11,7 +11,7 @@ class PyPycairo(PythonPackage):
"""Pycairo is a set of Python bindings for the cairo graphics library."""
homepage = "https://www.cairographics.org/pycairo/"
- url = "https://pypi.io/packages/source/p/pycairo/pycairo-1.17.1.tar.gz"
+ pypi = "pycairo/pycairo-1.17.1.tar.gz"
version('1.18.1', sha256='70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786')
version('1.17.1', sha256='0f0a35ec923d87bc495f6753b1e540fd046d95db56a35250c44089fbce03b698')
diff --git a/var/spack/repos/builtin/packages/py-pycbc/package.py b/var/spack/repos/builtin/packages/py-pycbc/package.py
index d315133885..d118cf5abe 100644
--- a/var/spack/repos/builtin/packages/py-pycbc/package.py
+++ b/var/spack/repos/builtin/packages/py-pycbc/package.py
@@ -15,7 +15,7 @@ class PyPycbc(PythonPackage):
the flagship analysis of LIGO and Virgo data."""
homepage = "https://pycbc.org/"
- url = "https://pypi.io/packages/source/P/PyCBC/PyCBC-1.14.1.tar.gz"
+ pypi = "PyCBC/PyCBC-1.14.1.tar.gz"
version('1.14.1', sha256='4b0a309cb6209837aaebbd691413a286dd7200ccf4b977ffed1462a65ac35dc0')
diff --git a/var/spack/repos/builtin/packages/py-pycifrw/package.py b/var/spack/repos/builtin/packages/py-pycifrw/package.py
index c16a3b2894..1d8f2b6839 100644
--- a/var/spack/repos/builtin/packages/py-pycifrw/package.py
+++ b/var/spack/repos/builtin/packages/py-pycifrw/package.py
@@ -11,7 +11,7 @@ class PyPycifrw(PythonPackage):
Framework (CIF) files."""
homepage = "https://bitbucket.org/jamesrhester/pycifrw/src/development/"
- url = "https://pypi.io/packages/source/P/PyCifRW/PyCifRW-4.4.1.tar.gz"
+ pypi = "PyCifRW/PyCifRW-4.4.1.tar.gz"
version('4.4.1', sha256='cef7662f475e0eb78a55c2d55774d474e888c96b0539e5f08550afa902cdc4e1')
diff --git a/var/spack/repos/builtin/packages/py-pycmd/package.py b/var/spack/repos/builtin/packages/py-pycmd/package.py
index 791852e95b..ec53ff3509 100644
--- a/var/spack/repos/builtin/packages/py-pycmd/package.py
+++ b/var/spack/repos/builtin/packages/py-pycmd/package.py
@@ -10,8 +10,7 @@ class PyPycmd(PythonPackage):
"""pycmd is a collection of command line tools for helping with Python
development."""
- homepage = "https://pypi.org/project/pycmd/"
- url = "https://pypi.io/packages/source/p/pycmd/pycmd-1.2.tar.gz"
+ pypi = "pycmd/pycmd-1.2.tar.gz"
version('1.2', sha256='adc1976c0106919e9338db20102b91009256dcfec924a66928d7297026f72477')
diff --git a/var/spack/repos/builtin/packages/py-pycosat/package.py b/var/spack/repos/builtin/packages/py-pycosat/package.py
index ac10891cef..9cb025f8e2 100644
--- a/var/spack/repos/builtin/packages/py-pycosat/package.py
+++ b/var/spack/repos/builtin/packages/py-pycosat/package.py
@@ -15,6 +15,6 @@ class PyPycosat(PythonPackage):
extracted from the picosat source (picosat-965.tar.gz)."""
homepage = "https://github.com/ContinuumIO/pycosat"
- url = "https://pypi.io/packages/source/p/pycosat/pycosat-0.6.3.zip"
+ pypi = "pycosat/pycosat-0.6.3.zip"
version('0.6.3', sha256='4c99874946a7e939bb941bbb019dd2c20e6068e3107c91366e7779c69d70e0ed')
diff --git a/var/spack/repos/builtin/packages/py-pycparser/package.py b/var/spack/repos/builtin/packages/py-pycparser/package.py
index 6eef675ba4..5358a87e3c 100644
--- a/var/spack/repos/builtin/packages/py-pycparser/package.py
+++ b/var/spack/repos/builtin/packages/py-pycparser/package.py
@@ -10,7 +10,7 @@ class PyPycparser(PythonPackage):
"""A complete parser of the C language, written in pure python."""
homepage = "https://github.com/eliben/pycparser"
- url = "https://pypi.io/packages/source/p/pycparser/pycparser-2.19.tar.gz"
+ pypi = "pycparser/pycparser-2.19.tar.gz"
version('2.20', sha256='2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0')
version('2.19', sha256='a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3')
diff --git a/var/spack/repos/builtin/packages/py-pycrypto/package.py b/var/spack/repos/builtin/packages/py-pycrypto/package.py
index 4de3bca71f..51c2209bba 100644
--- a/var/spack/repos/builtin/packages/py-pycrypto/package.py
+++ b/var/spack/repos/builtin/packages/py-pycrypto/package.py
@@ -11,7 +11,7 @@ class PyPycrypto(PythonPackage):
"""The Python Cryptography Toolkit"""
homepage = "https://www.dlitz.net/software/pycrypto/"
- url = "https://pypi.io/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz"
+ pypi = "pycrypto/pycrypto-2.6.1.tar.gz"
version('2.6.1', sha256='f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c')
diff --git a/var/spack/repos/builtin/packages/py-pycuda/package.py b/var/spack/repos/builtin/packages/py-pycuda/package.py
index 544c739d23..684f03c869 100644
--- a/var/spack/repos/builtin/packages/py-pycuda/package.py
+++ b/var/spack/repos/builtin/packages/py-pycuda/package.py
@@ -12,7 +12,7 @@ class PyPycuda(PythonPackage):
"""
homepage = "https://mathema.tician.de/software/pycuda/"
- url = "https://pypi.io/packages/source/p/pycuda/pycuda-2019.1.2.tar.gz"
+ pypi = "pycuda/pycuda-2019.1.2.tar.gz"
version('2019.1.2', sha256='ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a')
version('2016.1.2', sha256='a7dbdac7e2f0c0d2ad98f5f281d5a9d29d6673b3c20210e261b96e9a2d0b6e37')
diff --git a/var/spack/repos/builtin/packages/py-pycurl/package.py b/var/spack/repos/builtin/packages/py-pycurl/package.py
index ba23c5238a..92c72f254a 100644
--- a/var/spack/repos/builtin/packages/py-pycurl/package.py
+++ b/var/spack/repos/builtin/packages/py-pycurl/package.py
@@ -11,7 +11,7 @@ class PyPycurl(PythonPackage):
objects identified by a URL from a Python program."""
homepage = "http://pycurl.io/"
- url = "https://pypi.io/packages/source/p/pycurl/pycurl-7.43.0.tar.gz"
+ pypi = "pycurl/pycurl-7.43.0.tar.gz"
version('7.43.0', sha256='aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c')
diff --git a/var/spack/repos/builtin/packages/py-pydatalog/package.py b/var/spack/repos/builtin/packages/py-pydatalog/package.py
index 41b6a26993..707140f2d7 100644
--- a/var/spack/repos/builtin/packages/py-pydatalog/package.py
+++ b/var/spack/repos/builtin/packages/py-pydatalog/package.py
@@ -8,7 +8,6 @@ from spack import *
class PyPydatalog(PythonPackage):
"""pyDatalog adds logic programming to Python."""
- homepage = 'https://pypi.python.org/pypi/pyDatalog/'
- url = 'https://pypi.io/packages/source/p/pyDatalog/pyDatalog-0.17.1.zip'
+ pypi = 'pyDatalog/pyDatalog-0.17.1.zip'
version('0.17.1', sha256='b3d9cff0b9431e0fd0b2d5eefe4414c3d3c20bd18fdd7d1b42b2f01f25bac808')
diff --git a/var/spack/repos/builtin/packages/py-pydeps/package.py b/var/spack/repos/builtin/packages/py-pydeps/package.py
index 65eafb46cd..2ebdce6da5 100644
--- a/var/spack/repos/builtin/packages/py-pydeps/package.py
+++ b/var/spack/repos/builtin/packages/py-pydeps/package.py
@@ -7,8 +7,7 @@
class PyPydeps(PythonPackage):
"""Python module dependency visualization."""
- homepage = "https://pypi.python.org/project/pydeps"
- url = "https://pypi.io/packages/source/p/pydeps/pydeps-1.7.1.tar.gz"
+ pypi = "pydeps/pydeps-1.7.1.tar.gz"
version('1.9.0', sha256='ba9b8c7d72cb4dfd3f4dd6b8a250c240d15824850a415fd428f2660ed371361f')
version('1.7.1', sha256='7eeb8d0ec2713befe81dd0d15eac540e843b1daae13613df1c572528552d6340')
diff --git a/var/spack/repos/builtin/packages/py-pydispatcher/package.py b/var/spack/repos/builtin/packages/py-pydispatcher/package.py
index 8cb0218bd9..c5e95390f2 100644
--- a/var/spack/repos/builtin/packages/py-pydispatcher/package.py
+++ b/var/spack/repos/builtin/packages/py-pydispatcher/package.py
@@ -10,7 +10,7 @@ class PyPydispatcher(PythonPackage):
"""Multi-producer-multi-consumer signal dispatching mechanism."""
homepage = "http://pydispatcher.sourceforge.net/"
- url = "https://pypi.io/packages/source/P/PyDispatcher/PyDispatcher-2.0.5.tar.gz"
+ pypi = "PyDispatcher/PyDispatcher-2.0.5.tar.gz"
version('2.0.5', sha256='5570069e1b1769af1fe481de6dd1d3a388492acddd2cdad7a3bde145615d5caf')
diff --git a/var/spack/repos/builtin/packages/py-pydot/package.py b/var/spack/repos/builtin/packages/py-pydot/package.py
index a9989cdeab..b14d4347a9 100644
--- a/var/spack/repos/builtin/packages/py-pydot/package.py
+++ b/var/spack/repos/builtin/packages/py-pydot/package.py
@@ -10,7 +10,7 @@ class PyPydot(PythonPackage):
"""Python interface to Graphviz's Dot language"""
homepage = "https://github.com/erocarrera/pydot/"
- url = "https://pypi.io/packages/source/p/pydot/pydot-1.2.3.tar.gz"
+ pypi = "pydot/pydot-1.2.3.tar.gz"
version('1.4.1', sha256='d49c9d4dd1913beec2a997f831543c8cbd53e535b1a739e921642fe416235f01')
version('1.2.3', sha256='edb5d3f249f97fbd9c4bb16959e61bc32ecf40eee1a9f6d27abe8d01c0a73502')
diff --git a/var/spack/repos/builtin/packages/py-pydot2/package.py b/var/spack/repos/builtin/packages/py-pydot2/package.py
index 9894d47659..e934f60e38 100644
--- a/var/spack/repos/builtin/packages/py-pydot2/package.py
+++ b/var/spack/repos/builtin/packages/py-pydot2/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPydot2(PythonPackage):
"""Python interface to Graphviz's Dot"""
- homepage = "https://pypi.org/project/pydot2/"
- url = "https://pypi.io/packages/source/p/pydot2/pydot2-1.0.33.tar.gz"
+ pypi = "pydot2/pydot2-1.0.33.tar.gz"
version('1.0.33', sha256='02c0e681a1c437077e2bb2522fb81fa322e53ba7002cfda8b894db0392a1bc9b')
diff --git a/var/spack/repos/builtin/packages/py-pydotplus/package.py b/var/spack/repos/builtin/packages/py-pydotplus/package.py
index ccea3438cf..7dc728b25d 100644
--- a/var/spack/repos/builtin/packages/py-pydotplus/package.py
+++ b/var/spack/repos/builtin/packages/py-pydotplus/package.py
@@ -10,7 +10,7 @@ class PyPydotplus(PythonPackage):
"""Python interface to Graphviz's Dot language"""
homepage = "https://pydotplus.readthedocs.io/"
- url = "https://pypi.io/packages/source/p/pydotplus/pydotplus-2.0.2.tar.gz"
+ pypi = "pydotplus/pydotplus-2.0.2.tar.gz"
version('2.0.2', sha256='91e85e9ee9b85d2391ead7d635e3d9c7f5f44fd60a60e59b13e2403fa66505c4')
diff --git a/var/spack/repos/builtin/packages/py-pyeda/package.py b/var/spack/repos/builtin/packages/py-pyeda/package.py
index d6f3b4a3f9..225557ddaf 100644
--- a/var/spack/repos/builtin/packages/py-pyeda/package.py
+++ b/var/spack/repos/builtin/packages/py-pyeda/package.py
@@ -10,7 +10,7 @@ class PyPyeda(PythonPackage):
"""PyEDA is a Python library for electronic design automation."""
homepage = "https://github.com/cjdrake/pyeda"
- url = "https://pypi.io//packages/source/p/pyeda/pyeda-0.28.0.tar.gz"
+ pypi = "pyeda/pyeda-0.28.0.tar.gz"
version('0.28.0', sha256='07185f458d5d0b2ba5058da8b95dad6ab7684ceaf41237a25bcd3f005490f59d')
diff --git a/var/spack/repos/builtin/packages/py-pyelftools/package.py b/var/spack/repos/builtin/packages/py-pyelftools/package.py
index 0607560e0b..1c7723aae4 100644
--- a/var/spack/repos/builtin/packages/py-pyelftools/package.py
+++ b/var/spack/repos/builtin/packages/py-pyelftools/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPyelftools(PythonPackage):
"""A pure-Python library for parsing and analyzing ELF files and DWARF
debugging information"""
- homepage = "https://pypi.python.org/pypi/pyelftools"
- url = "https://pypi.io/packages/source/p/pyelftools/pyelftools-0.26.tar.gz"
+ pypi = "pyelftools/pyelftools-0.26.tar.gz"
version('0.26', sha256='86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2')
version('0.23', sha256='fc57aadd096e8f9b9b03f1a9578f673ee645e1513a5ff0192ef439e77eab21de')
diff --git a/var/spack/repos/builtin/packages/py-pyepsg/package.py b/var/spack/repos/builtin/packages/py-pyepsg/package.py
index 2b0ecd21a4..a3341e27b8 100644
--- a/var/spack/repos/builtin/packages/py-pyepsg/package.py
+++ b/var/spack/repos/builtin/packages/py-pyepsg/package.py
@@ -10,7 +10,7 @@ class PyPyepsg(PythonPackage):
"""Provides simple access to http://epsg.io/."""
homepage = "https://pyepsg.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/p/pyepsg/pyepsg-0.3.2.tar.gz"
+ pypi = "pyepsg/pyepsg-0.3.2.tar.gz"
version('0.3.2', sha256='597ef8c0e8c1be3db8f68c5985bcfbbc32e22f087e93e81ceb03ff094898e059')
diff --git a/var/spack/repos/builtin/packages/py-pyface/package.py b/var/spack/repos/builtin/packages/py-pyface/package.py
index 197e3d9ab2..5c5d5a962b 100644
--- a/var/spack/repos/builtin/packages/py-pyface/package.py
+++ b/var/spack/repos/builtin/packages/py-pyface/package.py
@@ -12,7 +12,7 @@ class PyPyface(PythonPackage):
care of the details of displaying them."""
homepage = "https://docs.enthought.com/pyface"
- url = "https://pypi.io/packages/source/p/pyface/pyface-6.1.2.tar.gz"
+ pypi = "pyface/pyface-6.1.2.tar.gz"
version('6.1.2', sha256='7c2ac3d5cbec85e8504b3b0b63e9307be12c6d710b46bae372ce6562d41f4fbc')
diff --git a/var/spack/repos/builtin/packages/py-pyfaidx/package.py b/var/spack/repos/builtin/packages/py-pyfaidx/package.py
index 22740a4f83..d46d5bea9d 100644
--- a/var/spack/repos/builtin/packages/py-pyfaidx/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfaidx/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPyfaidx(PythonPackage):
"""pyfaidx: efficient pythonic random access to fasta subsequences"""
- homepage = "https://pypi.org/project/pyfaidx/"
- url = "https://pypi.io/packages/source/p/pyfaidx/pyfaidx-0.5.5.2.tar.gz"
+ pypi = "pyfaidx/pyfaidx-0.5.5.2.tar.gz"
version('0.5.5.2', sha256='9ac22bdc7b9c5d995d32eb9dc278af9ba970481636ec75c0d687d38c26446caa')
diff --git a/var/spack/repos/builtin/packages/py-pyfasta/package.py b/var/spack/repos/builtin/packages/py-pyfasta/package.py
index 961bc0f75e..e9ad959832 100644
--- a/var/spack/repos/builtin/packages/py-pyfasta/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfasta/package.py
@@ -10,8 +10,7 @@ class PyPyfasta(PythonPackage):
"""Pyfasta: fast, memory-efficient, pythonic (and command-line)
access to fasta sequence files"""
- homepage = "https://pypi.python.org/pypi/pyfasta/"
- url = "https://pypi.io/packages/source/p/pyfasta/pyfasta-0.5.2.tar.gz"
+ pypi = "pyfasta/pyfasta-0.5.2.tar.gz"
version('0.5.2', sha256='ab08d75fa90253bc91933d10567d5d9cca2718f4796ef3bdc36b68df0e45b258')
diff --git a/var/spack/repos/builtin/packages/py-pyfftw/package.py b/var/spack/repos/builtin/packages/py-pyfftw/package.py
index 41d9db5b74..0f24abdf24 100644
--- a/var/spack/repos/builtin/packages/py-pyfftw/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfftw/package.py
@@ -11,7 +11,7 @@ class PyPyfftw(PythonPackage):
presenting a unified interface for all the supported transforms."""
homepage = "http://hgomersall.github.com/pyFFTW"
- url = "https://pypi.io/packages/source/p/pyFFTW/pyFFTW-0.10.4.tar.gz"
+ pypi = "pyFFTW/pyFFTW-0.10.4.tar.gz"
version('0.12.0', sha256='60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0')
version('0.11.1', sha256='05ea28dede4c3aaaf5c66f56eb0f71849d0d50f5bc0f53ca0ffa69534af14926')
diff --git a/var/spack/repos/builtin/packages/py-pygdal/package.py b/var/spack/repos/builtin/packages/py-pygdal/package.py
index 403e020043..5bc51f6cc2 100644
--- a/var/spack/repos/builtin/packages/py-pygdal/package.py
+++ b/var/spack/repos/builtin/packages/py-pygdal/package.py
@@ -18,7 +18,7 @@ class PyPygdal(PythonPackage):
"""
homepage = "https://github.com/nextgis/pygdal"
- url = "https://pypi.io/packages/source/p/pygdal/pygdal-3.0.1.5.tar.gz"
+ pypi = "pygdal/pygdal-3.0.1.5.tar.gz"
version('3.0.4.6', sha256='8e39b58cd9465bb5f41786a7cf6a62df93334c104db05a5bfb8181a0be276b86')
version('3.0.1.5', sha256='1222f69fe5e6b632d0d2a42d3acb8fac80fb4577c05e01969d8cd5548192ccaa')
diff --git a/var/spack/repos/builtin/packages/py-pygdbmi/package.py b/var/spack/repos/builtin/packages/py-pygdbmi/package.py
index 8bf181f4a7..af1baff0d5 100644
--- a/var/spack/repos/builtin/packages/py-pygdbmi/package.py
+++ b/var/spack/repos/builtin/packages/py-pygdbmi/package.py
@@ -10,7 +10,7 @@ class PyPygdbmi(PythonPackage):
"""Parse gdb machine interface output with Python"""
homepage = "https://github.com/cs01/pygdbmi"
- url = "https://pypi.io/packages/source/p/pygdbmi/pygdbmi-0.8.2.0.tar.gz"
+ pypi = "pygdbmi/pygdbmi-0.8.2.0.tar.gz"
version('0.9.0.3', sha256='5bdf2f072e8f2f6471f19f8dcd87d6425c5d8069d47c0a5ffe8d0eff48cb171e')
version('0.8.2.0', sha256='47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe')
diff --git a/var/spack/repos/builtin/packages/py-pygelf/package.py b/var/spack/repos/builtin/packages/py-pygelf/package.py
index c2b20b5703..1afa96fd97 100644
--- a/var/spack/repos/builtin/packages/py-pygelf/package.py
+++ b/var/spack/repos/builtin/packages/py-pygelf/package.py
@@ -11,7 +11,7 @@ class PyPygelf(PythonPackage):
support."""
homepage = "https://github.com/keeprocking/pygelf"
- url = "https://pypi.io/packages/source/p/pygelf/pygelf-0.3.6.tar.gz"
+ pypi = "pygelf/pygelf-0.3.6.tar.gz"
# notify when the package is updated.
maintainers = ['victorusu', 'vkarak']
diff --git a/var/spack/repos/builtin/packages/py-pygeos/package.py b/var/spack/repos/builtin/packages/py-pygeos/package.py
index 33225252da..354b27a821 100644
--- a/var/spack/repos/builtin/packages/py-pygeos/package.py
+++ b/var/spack/repos/builtin/packages/py-pygeos/package.py
@@ -14,7 +14,7 @@ class PyPygeos(PythonPackage):
improvement when operating on arrays of geometries."""
homepage = "https://github.com/pygeos/pygeos"
- url = "https://pypi.io/packages/source/p/pygeos/pygeos-0.8.tar.gz"
+ pypi = "pygeos/pygeos-0.8.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-pygit2/package.py b/var/spack/repos/builtin/packages/py-pygit2/package.py
index b90652fa33..3f46a17187 100644
--- a/var/spack/repos/builtin/packages/py-pygit2/package.py
+++ b/var/spack/repos/builtin/packages/py-pygit2/package.py
@@ -12,7 +12,7 @@ class PyPygit2(PythonPackage):
"""
homepage = "http://www.pygit2.org/"
- url = "https://pypi.io/packages/source/p/pygit2/pygit2-0.24.1.tar.gz"
+ pypi = "pygit2/pygit2-0.24.1.tar.gz"
version('0.24.1', sha256='4d1d0196b38d6012faf0a7c45e235c208315672b6035da504566c605ba494064')
diff --git a/var/spack/repos/builtin/packages/py-pyglet/package.py b/var/spack/repos/builtin/packages/py-pyglet/package.py
index ff01b7f2d6..1f98fce8df 100644
--- a/var/spack/repos/builtin/packages/py-pyglet/package.py
+++ b/var/spack/repos/builtin/packages/py-pyglet/package.py
@@ -12,7 +12,7 @@ class PyPyglet(PythonPackage):
"""
homepage = "https://github.com/pyglet/pygle://github.com/pyglet/pyglet"
- url = "https://pypi.io/packages/source/p/pyglet/pyglet-1.4.2.tar.gz"
+ pypi = "pyglet/pyglet-1.4.2.tar.gz"
version('1.4.2', sha256='fda25ae5e99057f05bd339ea7972196d2f44e6fe8fb210951ab01f6609cdbdb7')
version('1.2.1', sha256='d1afb253d6de230e73698377566da333ef42e1c82190216aa7a0c1b729d6ff4d')
diff --git a/var/spack/repos/builtin/packages/py-pygments-pytest/package.py b/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
index 3808bb80b7..3a1a313a26 100644
--- a/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
@@ -10,7 +10,7 @@ class PyPygmentsPytest(PythonPackage):
"""A pygments lexer for pytest output."""
homepage = "https://github.com/asottile/pygments-pytest"
- url = "https://pypi.io/packages/source/P/pygments-pytest-1.2.0.tar.gz"
+ pypi = "pygments-pytest/pygments_pytest-1.2.0.tar.gz"
version('1.2.0', sha256='fc48e2fffd6d3c047a61c1db8b88ab069983f50e733fe70a7846098eb28bc955')
diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py
index 585a3b2cbb..bebade9236 100644
--- a/var/spack/repos/builtin/packages/py-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments/package.py
@@ -10,7 +10,7 @@ class PyPygments(PythonPackage):
"""Pygments is a syntax highlighting package written in Python."""
homepage = "http://pygments.org/"
- url = "https://pypi.io/packages/source/P/Pygments/Pygments-2.4.2.tar.gz"
+ pypi = "Pygments/Pygments-2.4.2.tar.gz"
version('2.6.1', sha256='647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44')
version('2.4.2', sha256='881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297')
diff --git a/var/spack/repos/builtin/packages/py-pygps/package.py b/var/spack/repos/builtin/packages/py-pygps/package.py
index ffb556c007..9cea4a8da8 100644
--- a/var/spack/repos/builtin/packages/py-pygps/package.py
+++ b/var/spack/repos/builtin/packages/py-pygps/package.py
@@ -11,7 +11,7 @@ class PyPygps(PythonPackage):
Regression and Classification."""
homepage = "https://github.com/marionmari/pyGPs"
- url = "https://pypi.io/packages/source/p/pygps/pyGPs-1.3.5.tar.gz"
+ pypi = "pygps/pyGPs-1.3.5.tar.gz"
version('1.3.5', sha256='5af668415a7bf1666c7c6da3bb09d29e48c395862c6feb23964b476972a015d4')
diff --git a/var/spack/repos/builtin/packages/py-pyheadtail/package.py b/var/spack/repos/builtin/packages/py-pyheadtail/package.py
index 811bf63b4b..a028dd932d 100644
--- a/var/spack/repos/builtin/packages/py-pyheadtail/package.py
+++ b/var/spack/repos/builtin/packages/py-pyheadtail/package.py
@@ -11,7 +11,7 @@ class PyPyheadtail(PythonPackage):
macro-particle beam dynamics with collective effects."""
homepage = "https://github.com/PyCOMPLETE/PyHEADTAIL"
- url = "https://pypi.io/packages/source/P/PyHEADTAIL/PyHEADTAIL-1.14.1.tar.gz"
+ pypi = "PyHEADTAIL/PyHEADTAIL-1.14.1.tar.gz"
version('1.14.1', sha256='bf90ac7e8764176c55e82c363cad7ab43543863b6ef482760ced23b78e917bb4')
version('1.13.1', sha256='29c742573a918126b5a9c21806ee0ec6a34ec642a0e6ad200f6d4551bf1bb310')
diff --git a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
index 970f5c5f16..91980b4994 100644
--- a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
+++ b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
@@ -10,7 +10,7 @@ class PyPyinstrumentCext(PythonPackage):
"""A CPython extension supporting pyinstrument."""
homepage = "https://github.com/joerick/pyinstrument_cext"
- url = "https://pypi.io/packages/source/p/pyinstrument_cext/pyinstrument_cext-0.2.2.tar.gz"
+ pypi = "pyinstrument_cext/pyinstrument_cext-0.2.2.tar.gz"
version('0.2.2', sha256='f29e25f71d74c0415ca9310e5567fff0f5d29f4240a09a885abf8b0eed71cc5b')
diff --git a/var/spack/repos/builtin/packages/py-pyjwt/package.py b/var/spack/repos/builtin/packages/py-pyjwt/package.py
index fa76c2a39a..6ca2c3fbb9 100644
--- a/var/spack/repos/builtin/packages/py-pyjwt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyjwt/package.py
@@ -10,7 +10,7 @@ class PyPyjwt(PythonPackage):
"""JSON Web Token implementation in Python"""
homepage = "https://github.com/jpadilla/pyjwt"
- url = "https://pypi.io/packages/source/P/PyJWT/PyJWT-1.7.1.tar.gz"
+ pypi = "PyJWT/PyJWT-1.7.1.tar.gz"
version('1.7.1', sha256='8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96')
diff --git a/var/spack/repos/builtin/packages/py-pykml/package.py b/var/spack/repos/builtin/packages/py-pykml/package.py
index 38a47c94de..fe11a3407d 100644
--- a/var/spack/repos/builtin/packages/py-pykml/package.py
+++ b/var/spack/repos/builtin/packages/py-pykml/package.py
@@ -12,8 +12,7 @@ class PyPykml(PythonPackage):
XML documents.
"""
- homepage = "https://pypi.org/project/pykml/"
- url = "https://pypi.io/packages/source/p/pykml/pykml-0.1.3.tar.gz"
+ pypi = "pykml/pykml-0.1.3.tar.gz"
version('0.1.3', sha256='e1a133e582f0b4652a6b00bac970b446d90580664e5a634a670731c990ff9f05')
diff --git a/var/spack/repos/builtin/packages/py-pykwalify/package.py b/var/spack/repos/builtin/packages/py-pykwalify/package.py
index 4439f1d0f4..e0909e710c 100644
--- a/var/spack/repos/builtin/packages/py-pykwalify/package.py
+++ b/var/spack/repos/builtin/packages/py-pykwalify/package.py
@@ -12,7 +12,7 @@ class PyPykwalify(PythonPackage):
"""
homepage = "https://github.com/grokzen/pykwalify"
- url = "https://pypi.io/packages/source/p/pykwalify/pykwalify-1.7.0.tar.gz"
+ pypi = "pykwalify/pykwalify-1.7.0.tar.gz"
version('1.7.0', sha256='7e8b39c5a3a10bc176682b3bd9a7422c39ca247482df198b402e8015defcceb2')
version('1.6.1', sha256='191fd3f457f23c0aa8538c3a5c0249f70eeb1046e88d0eaaef928e09c44dff8d')
diff --git a/var/spack/repos/builtin/packages/py-pyliblzma/package.py b/var/spack/repos/builtin/packages/py-pyliblzma/package.py
index 5630768af5..be07b95037 100644
--- a/var/spack/repos/builtin/packages/py-pyliblzma/package.py
+++ b/var/spack/repos/builtin/packages/py-pyliblzma/package.py
@@ -10,7 +10,7 @@ class PyPyliblzma(PythonPackage):
"""Python bindings for liblzma"""
homepage = "https://launchpad.net/pyliblzma"
- url = "https://pypi.io/packages/source/p/pyliblzma/pyliblzma-0.5.3.tar.bz2"
+ pypi = "pyliblzma/pyliblzma-0.5.3.tar.bz2"
version('0.5.3', sha256='08d762f36d5e59fb9bb0e22e000c300b21f97e35b713321ee504cfb442667957')
diff --git a/var/spack/repos/builtin/packages/py-pylikwid/package.py b/var/spack/repos/builtin/packages/py-pylikwid/package.py
index 9ea083e178..adb437b07a 100644
--- a/var/spack/repos/builtin/packages/py-pylikwid/package.py
+++ b/var/spack/repos/builtin/packages/py-pylikwid/package.py
@@ -13,7 +13,7 @@ class PyPylikwid(PythonPackage):
prefetchers."""
homepage = "https://github.com/RRZE-HPC/pylikwid"
- url = "https://pypi.io/packages/source/p/pylikwid/pylikwid-0.4.0.tar.gz"
+ pypi = "pylikwid/pylikwid-0.4.0.tar.gz"
git = "https://github.com/RRZE-HPC/pylikwid.git"
maintainers = ['TomTheBear']
diff --git a/var/spack/repos/builtin/packages/py-pylint/package.py b/var/spack/repos/builtin/packages/py-pylint/package.py
index 23cbfcf93a..6bde9b3aa9 100644
--- a/var/spack/repos/builtin/packages/py-pylint/package.py
+++ b/var/spack/repos/builtin/packages/py-pylint/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPylint(PythonPackage):
"""python code static checker"""
- homepage = "https://pypi.python.org/pypi/pylint"
- url = "https://pypi.io/packages/source/p/pylint/pylint-1.6.5.tar.gz"
+ pypi = "pylint/pylint-1.6.5.tar.gz"
version('2.3.1', sha256='723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1')
version('2.3.0', sha256='ee80c7af4f127b2a480d83010c9f0e97beb8eaa652b78c2837d3ed30b12e1182')
diff --git a/var/spack/repos/builtin/packages/py-pymatgen/package.py b/var/spack/repos/builtin/packages/py-pymatgen/package.py
index 5da5c1bee3..3d89b1f1cd 100644
--- a/var/spack/repos/builtin/packages/py-pymatgen/package.py
+++ b/var/spack/repos/builtin/packages/py-pymatgen/package.py
@@ -13,7 +13,7 @@ class PyPymatgen(PythonPackage):
analysis code powering the Materials Project."""
homepage = "http://www.pymatgen.org/"
- url = "https://pypi.io/packages/source/p/pymatgen/pymatgen-4.7.2.tar.gz"
+ pypi = "pymatgen/pymatgen-4.7.2.tar.gz"
version('4.7.2', sha256='e439b78cc3833a03963c3c3efe349d8a0e52a1550c8a05c56a89aa1b86657436')
version('4.6.2', sha256='f34349090c6f604f7d402cb09cd486830b38523639d7160d7fd282d504036a0e')
diff --git a/var/spack/repos/builtin/packages/py-pymc3/package.py b/var/spack/repos/builtin/packages/py-pymc3/package.py
index 5f4fbce9a6..8c1d6aeadc 100644
--- a/var/spack/repos/builtin/packages/py-pymc3/package.py
+++ b/var/spack/repos/builtin/packages/py-pymc3/package.py
@@ -13,7 +13,7 @@ class PyPymc3(PythonPackage):
extensibility make it applicable to a large suite of problems."""
homepage = "http://github.com/pymc-devs/pymc3"
- url = "https://pypi.io/packages/source/p/pymc3/pymc3-3.8.tar.gz"
+ pypi = "pymc3/pymc3-3.8.tar.gz"
version('3.8', sha256='1bb2915e4a29877c681ead13932b0b7d276f7f496e9c3f09ba96b977c99caf00')
diff --git a/var/spack/repos/builtin/packages/py-pymeeus/package.py b/var/spack/repos/builtin/packages/py-pymeeus/package.py
index 7dc522bd51..9df4d99553 100644
--- a/var/spack/repos/builtin/packages/py-pymeeus/package.py
+++ b/var/spack/repos/builtin/packages/py-pymeeus/package.py
@@ -10,7 +10,7 @@ class PyPymeeus(PythonPackage):
"""Library of astronomical algorithms in Python."""
homepage = "https://github.com/architest/pymeeus"
- url = "https://pypi.io/packages/source/P/PyMeeus/PyMeeus-0.3.6.tar.gz"
+ pypi = "PyMeeus/PyMeeus-0.3.6.tar.gz"
version('0.3.6', sha256='1f1ba0682e1b5c6b0cd6432c966e8bc8acc31737ea6f0ae79917a2189a98bb87')
diff --git a/var/spack/repos/builtin/packages/py-pyminifier/package.py b/var/spack/repos/builtin/packages/py-pyminifier/package.py
index edff48c36c..bf96d2d88b 100644
--- a/var/spack/repos/builtin/packages/py-pyminifier/package.py
+++ b/var/spack/repos/builtin/packages/py-pyminifier/package.py
@@ -10,7 +10,7 @@ class PyPyminifier(PythonPackage):
"""Pyminifier is a Python code minifier, obfuscator, and compressor."""
homepage = "http://liftoff.github.io/pyminifier/"
- url = "https://pypi.io/packages/source/p/pyminifier/pyminifier-2.1.tar.gz"
+ pypi = "pyminifier/pyminifier-2.1.tar.gz"
version('2.1', sha256='e192618fe901830e9298825b32828bc9555ae8649e05af37bfab2db328546777')
diff --git a/var/spack/repos/builtin/packages/py-pymongo/package.py b/var/spack/repos/builtin/packages/py-pymongo/package.py
index 41e13d305f..7852bd9c5e 100644
--- a/var/spack/repos/builtin/packages/py-pymongo/package.py
+++ b/var/spack/repos/builtin/packages/py-pymongo/package.py
@@ -15,8 +15,7 @@ class PyPymongo(PythonPackage):
PyMongo supports MongoDB 2.6, 3.0, 3.2, 3.4, 3.6, 4.0 and 4.2."""
- homepage = "https://pypi.org/project/pymongo/"
- url = "https://pypi.io/packages/source/p/pymongo/pymongo-3.9.0.tar.gz"
+ pypi = "pymongo/pymongo-3.9.0.tar.gz"
version('3.9.0', sha256='4249c6ba45587b959292a727532826c5032d59171f923f7f823788f413c2a5a3')
version('3.6.0', sha256='c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8')
diff --git a/var/spack/repos/builtin/packages/py-pymorph/package.py b/var/spack/repos/builtin/packages/py-pymorph/package.py
index 5ef91f7f3f..1b4dac84bb 100644
--- a/var/spack/repos/builtin/packages/py-pymorph/package.py
+++ b/var/spack/repos/builtin/packages/py-pymorph/package.py
@@ -12,7 +12,7 @@ class PyPymorph(PythonPackage):
"""
homepage = "http://luispedro.org/software/pymorph/"
- url = "https://pypi.io/packages/source/p/pymorph/pymorph-0.96.tar.gz"
+ pypi = "pymorph/pymorph-0.96.tar.gz"
version('0.96', sha256='5dd648e4cb4c3495ee6031bc8020ed8216f3d6cb8c0dcd0427b215b75d7d29ad')
diff --git a/var/spack/repos/builtin/packages/py-pympler/package.py b/var/spack/repos/builtin/packages/py-pympler/package.py
index 0aa7d03986..9fc0b49f97 100644
--- a/var/spack/repos/builtin/packages/py-pympler/package.py
+++ b/var/spack/repos/builtin/packages/py-pympler/package.py
@@ -12,7 +12,7 @@ class PyPympler(PythonPackage):
"""
homepage = "https://github.com/pympler/pympler"
- url = "https://pypi.io/packages/source/P/Pympler/Pympler-0.4.3.tar.gz"
+ pypi = "Pympler/Pympler-0.4.3.tar.gz"
version('0.4.3', sha256='430528fff6cde1bae0a305e8df647b158c3cc4930cff122bf228293829ee1e56')
version('0.4.2', sha256='3c3f9d8eb3dddf4f29c433433ea77c9c3f2f0dcc06575c0c2a9d81b2602893b2')
diff --git a/var/spack/repos/builtin/packages/py-pymysql/package.py b/var/spack/repos/builtin/packages/py-pymysql/package.py
index 96f23fa088..636a2334ca 100644
--- a/var/spack/repos/builtin/packages/py-pymysql/package.py
+++ b/var/spack/repos/builtin/packages/py-pymysql/package.py
@@ -10,7 +10,7 @@ class PyPymysql(PythonPackage):
"""Pure-Python MySQL client library"""
homepage = "https://github.com/PyMySQL/PyMySQL/"
- url = "https://pypi.io/packages/source/p/pymysql/PyMySQL-0.9.2.tar.gz"
+ pypi = "pymysql/PyMySQL-0.9.2.tar.gz"
version('0.9.2', sha256='9ec760cbb251c158c19d6c88c17ca00a8632bac713890e465b2be01fdc30713f')
diff --git a/var/spack/repos/builtin/packages/py-pynacl/package.py b/var/spack/repos/builtin/packages/py-pynacl/package.py
index a428b3756e..9513bb2092 100644
--- a/var/spack/repos/builtin/packages/py-pynacl/package.py
+++ b/var/spack/repos/builtin/packages/py-pynacl/package.py
@@ -8,7 +8,7 @@ class PyPynacl(PythonPackage):
"""Python binding to the Networking and Cryptography (NaCl) library."""
homepage = "https://github.com/pyca/pynacl/"
- url = "https://pypi.io/packages/source/P/PyNaCl/PyNaCl-1.4.0.tar.gz"
+ pypi = "PyNaCl/PyNaCl-1.4.0.tar.gz"
version('1.4.0', sha256='54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505')
diff --git a/var/spack/repos/builtin/packages/py-pynn/package.py b/var/spack/repos/builtin/packages/py-pynn/package.py
index 85d22a9dd5..563fc53a91 100644
--- a/var/spack/repos/builtin/packages/py-pynn/package.py
+++ b/var/spack/repos/builtin/packages/py-pynn/package.py
@@ -12,7 +12,7 @@ class PyPynn(PythonPackage):
"""
homepage = "http://neuralensemble.org/PyNN/"
- url = "https://pypi.io/packages/source/P/PyNN/PyNN-0.8.3.tar.gz"
+ pypi = "PyNN/PyNN-0.8.3.tar.gz"
git = "https://github.com/NeuralEnsemble/PyNN.git"
version('0.9.1', sha256='bbc60fea3235427191feb2daa0e2fa07eb1c3946104c068ac8a2a0501263b0b1')
diff --git a/var/spack/repos/builtin/packages/py-pynvml/package.py b/var/spack/repos/builtin/packages/py-pynvml/package.py
index 237949e521..4c13811a1c 100644
--- a/var/spack/repos/builtin/packages/py-pynvml/package.py
+++ b/var/spack/repos/builtin/packages/py-pynvml/package.py
@@ -11,7 +11,7 @@ class PyPynvml(PythonPackage):
http://developer.nvidia.com/nvidia-management-library-nvml"""
homepage = "http://www.nvidia.com/"
- url = "https://pypi.io/packages/source/p/pynvml/pynvml-8.0.4.tar.gz"
+ pypi = "pynvml/pynvml-8.0.4.tar.gz"
version('8.0.4', sha256='c8d4eadc648c7e12a3c9182a9750afd8481b76412f83747bcc01e2aa829cde5d')
diff --git a/var/spack/repos/builtin/packages/py-pyodbc/package.py b/var/spack/repos/builtin/packages/py-pyodbc/package.py
index 68a83caf2c..138fe172c6 100644
--- a/var/spack/repos/builtin/packages/py-pyodbc/package.py
+++ b/var/spack/repos/builtin/packages/py-pyodbc/package.py
@@ -12,7 +12,7 @@ class PyPyodbc(PythonPackage):
decimal."""
homepage = "https://github.com/mkleehammer/pyodbc"
- url = "https://pypi.io/packages/source/p/pyodbc/pyodbc-4.0.26.tar.gz"
+ pypi = "pyodbc/pyodbc-4.0.26.tar.gz"
version('4.0.26', sha256='e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3')
diff --git a/var/spack/repos/builtin/packages/py-pyopencl/package.py b/var/spack/repos/builtin/packages/py-pyopencl/package.py
index 78baa07ea5..2e5459dd7a 100644
--- a/var/spack/repos/builtin/packages/py-pyopencl/package.py
+++ b/var/spack/repos/builtin/packages/py-pyopencl/package.py
@@ -11,7 +11,7 @@ class PyPyopencl(PythonPackage):
"""Python wrapper for OpenCL."""
homepage = "https://documen.tician.de/pyopencl/"
- url = "https://pypi.io/packages/source/p/pyopencl/pyopencl-2020.2.2.tar.gz"
+ pypi = "pyopencl/pyopencl-2020.2.2.tar.gz"
maintainers = ['matthiasdiener']
diff --git a/var/spack/repos/builtin/packages/py-pyopenssl/package.py b/var/spack/repos/builtin/packages/py-pyopenssl/package.py
index 70e0c86c72..b10615ea5a 100644
--- a/var/spack/repos/builtin/packages/py-pyopenssl/package.py
+++ b/var/spack/repos/builtin/packages/py-pyopenssl/package.py
@@ -15,7 +15,7 @@ class PyPyopenssl(PythonPackage):
drop your pyOpenSSL dependency."""
homepage = "https://pyopenssl.org/"
- url = "https://pypi.io/packages/source/p/pyOpenSSL/pyOpenSSL-19.0.0.tar.gz"
+ pypi = "pyOpenSSL/pyOpenSSL-19.0.0.tar.gz"
version('19.0.0', sha256='aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200')
diff --git a/var/spack/repos/builtin/packages/py-pyparsing/package.py b/var/spack/repos/builtin/packages/py-pyparsing/package.py
index bb22f34c20..1a8682670b 100644
--- a/var/spack/repos/builtin/packages/py-pyparsing/package.py
+++ b/var/spack/repos/builtin/packages/py-pyparsing/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyPyparsing(PythonPackage):
"""A Python Parsing Module."""
homepage = "http://pyparsing.wikispaces.com/"
- url = "https://pypi.io/packages/source/p/pyparsing/pyparsing-2.4.2.tar.gz"
+ pypi = "pyparsing/pyparsing-2.4.2.tar.gz"
version('2.4.2', sha256='6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80')
version('2.4.0', sha256='1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a')
diff --git a/var/spack/repos/builtin/packages/py-pypeg2/package.py b/var/spack/repos/builtin/packages/py-pypeg2/package.py
index 344f9cd5c1..84c1b69be1 100644
--- a/var/spack/repos/builtin/packages/py-pypeg2/package.py
+++ b/var/spack/repos/builtin/packages/py-pypeg2/package.py
@@ -10,7 +10,7 @@ class PyPypeg2(PythonPackage):
"""A PEG Parser-Interpreter in Python"""
homepage = "https://fdik.org/pyPEG2/"
- url = "https://pypi.io/packages/source/p/pypeg2/pyPEG2-2.15.2.tar.gz"
+ pypi = "pypeg2/pyPEG2-2.15.2.tar.gz"
version('2.15.2', sha256='2b2d4f80d8e1a9370b2a91f4a25f4abf7f69b85c8da84cd23ec36451958a1f6d')
diff --git a/var/spack/repos/builtin/packages/py-pyperclip/package.py b/var/spack/repos/builtin/packages/py-pyperclip/package.py
index 441f5fca3a..ca268514d9 100644
--- a/var/spack/repos/builtin/packages/py-pyperclip/package.py
+++ b/var/spack/repos/builtin/packages/py-pyperclip/package.py
@@ -10,7 +10,7 @@ class PyPyperclip(PythonPackage):
"""A cross-platform clipboard module for Python."""
homepage = "https://github.com/asweigart/pyperclip"
- url = "https://pypi.io/packages/source/p/pyperclip/pyperclip-1.7.0.tar.gz"
+ pypi = "pyperclip/pyperclip-1.7.0.tar.gz"
version('1.7.0', sha256='979325468ccf682104d5dcaf753f869868100631301d3e72f47babdea5700d1c')
diff --git a/var/spack/repos/builtin/packages/py-pyperf/package.py b/var/spack/repos/builtin/packages/py-pyperf/package.py
index 435e1d8255..9796cc65c6 100644
--- a/var/spack/repos/builtin/packages/py-pyperf/package.py
+++ b/var/spack/repos/builtin/packages/py-pyperf/package.py
@@ -11,7 +11,7 @@ class PyPyperf(PythonPackage):
analyze benchmarks.
"""
- homepage = "https://pypi.python.org/pypi/pyperf"
+ homepage = "https://github.com/vstinner/pyperf"
url = "https://github.com/vstinner/pyperf/archive/1.5.1.tar.gz"
version('1.6.1', sha256='fbe793f6f2e036ab4dcca105b5c5aa34fd331dd881e7a3e158e5e218c63cfc32')
diff --git a/var/spack/repos/builtin/packages/py-pyprof2html/package.py b/var/spack/repos/builtin/packages/py-pyprof2html/package.py
index 1ed3728834..864d42edf1 100644
--- a/var/spack/repos/builtin/packages/py-pyprof2html/package.py
+++ b/var/spack/repos/builtin/packages/py-pyprof2html/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPyprof2html(PythonPackage):
"""Python cProfile and hotshot profile's data to HTML Converter"""
- homepage = "https://pypi.python.org/pypi/pyprof2html/"
- url = "https://pypi.io/packages/source/p/pyprof2html/pyprof2html-0.3.1.tar.gz"
+ pypi = "pyprof2html/pyprof2html-0.3.1.tar.gz"
version('0.3.1', sha256='db2d37e21d8c76f2fd25fb1ba9273c9b3ff4a98a327e37d943fed1ea225a6720')
diff --git a/var/spack/repos/builtin/packages/py-pyproj/package.py b/var/spack/repos/builtin/packages/py-pyproj/package.py
index 7c4e2eb80c..689e436a4d 100644
--- a/var/spack/repos/builtin/packages/py-pyproj/package.py
+++ b/var/spack/repos/builtin/packages/py-pyproj/package.py
@@ -10,7 +10,7 @@ class PyPyproj(PythonPackage):
"""Python interface to the PROJ.4 Library."""
homepage = "https://github.com/pyproj4/pyproj"
- url = "https://pypi.io/packages/source/p/pyproj/pyproj-2.2.0.tar.gz"
+ pypi = "pyproj/pyproj-2.2.0.tar.gz"
git = "https://github.com/pyproj4/pyproj.git"
maintainers = ['citibeth', 'adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-pyqi/package.py b/var/spack/repos/builtin/packages/py-pyqi/package.py
index 9cca0d591b..91cdac4c4f 100644
--- a/var/spack/repos/builtin/packages/py-pyqi/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqi/package.py
@@ -12,7 +12,7 @@ class PyPyqi(PythonPackage):
including at the command line, HTML, and API levels."""
homepage = "https://pyqi.readthedocs.io"
- url = "https://pypi.io/packages/source/p/pyqi/pyqi-0.3.2.tar.gz"
+ pypi = "pyqi/pyqi-0.3.2.tar.gz"
version('0.3.2', sha256='8f1711835779704e085e62194833fed9ac2985e398b4ceac6faf6c7f40f5d15f')
diff --git a/var/spack/repos/builtin/packages/py-pyquaternion/package.py b/var/spack/repos/builtin/packages/py-pyquaternion/package.py
index 82dc26d796..a68ef38198 100644
--- a/var/spack/repos/builtin/packages/py-pyquaternion/package.py
+++ b/var/spack/repos/builtin/packages/py-pyquaternion/package.py
@@ -11,7 +11,7 @@ class PyPyquaternion(PythonPackage):
"""Python morphology manipulation toolkit"""
homepage = "https://kieranwynn.github.io/pyquaternion/"
- url = "https://pypi.org/packages/source/p/pyquaternion/pyquaternion-0.9.5.tar.gz"
+ pypi = "pyquaternion/pyquaternion-0.9.5.tar.gz"
version('0.9.5', sha256='2d89d19259d62a8fbd25219eee7dacc1f6bb570becb70e1e883f622597c7d81d')
diff --git a/var/spack/repos/builtin/packages/py-pyrsistent/package.py b/var/spack/repos/builtin/packages/py-pyrsistent/package.py
index 0a1baafdd8..c9dadc2646 100644
--- a/var/spack/repos/builtin/packages/py-pyrsistent/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrsistent/package.py
@@ -12,7 +12,7 @@ class PyPyrsistent(PythonPackage):
Persistent in the sense that they are immutable."""
homepage = "http://github.com/tobgu/pyrsistent/"
- url = "https://pypi.io/packages/source/p/pyrsistent/pyrsistent-0.15.7.tar.gz"
+ pypi = "pyrsistent/pyrsistent-0.15.7.tar.gz"
version('0.15.7', sha256='cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280')
diff --git a/var/spack/repos/builtin/packages/py-pysam/package.py b/var/spack/repos/builtin/packages/py-pysam/package.py
index 5459ef0a16..f1418be71c 100644
--- a/var/spack/repos/builtin/packages/py-pysam/package.py
+++ b/var/spack/repos/builtin/packages/py-pysam/package.py
@@ -10,7 +10,7 @@ class PyPysam(PythonPackage):
"""A python module for reading, manipulating and writing genomic data
sets."""
- homepage = "https://pypi.python.org/pypi/pysam"
+ homepage = "https://github.com/pysam-developers/pysam"
url = "https://github.com/pysam-developers/pysam/archive/v0.14.1.tar.gz"
version('0.15.2', sha256='8cb3dd70f0d825086ac059ec2445ebd2ec5f14af73e7f1f4bd358966aaee5ed3')
diff --git a/var/spack/repos/builtin/packages/py-pyscaf/package.py b/var/spack/repos/builtin/packages/py-pyscaf/package.py
index 53a9adfc56..a041956ff1 100644
--- a/var/spack/repos/builtin/packages/py-pyscaf/package.py
+++ b/var/spack/repos/builtin/packages/py-pyscaf/package.py
@@ -10,8 +10,7 @@ class PyPyscaf(PythonPackage):
"""pyScaf orders contigs from genome assemblies utilising several types of
information"""
- homepage = "https://pypi.python.org/pypi/pyScaf"
- url = "https://pypi.io/packages/source/p/pyScaf/pyScaf-0.12a4.tar.gz"
+ pypi = "pyScaf/pyScaf-0.12a4.tar.gz"
version('0.12a4', sha256='3ce3f6fe80bd058831b6a38a56d464ef10f3ebbdd6bc3dcb0d7f127c0b2c1b36')
diff --git a/var/spack/repos/builtin/packages/py-pyserial/package.py b/var/spack/repos/builtin/packages/py-pyserial/package.py
index 07534b8c6b..28e1df4d78 100644
--- a/var/spack/repos/builtin/packages/py-pyserial/package.py
+++ b/var/spack/repos/builtin/packages/py-pyserial/package.py
@@ -10,7 +10,7 @@ class PyPyserial(PythonPackage):
"""Python Serial Port Extension"""
homepage = "https://github.com/pyserial/pyserial"
- url = "https://pypi.io/packages/source/p/pyserial/pyserial-3.1.1.tar.gz"
+ pypi = "pyserial/pyserial-3.1.1.tar.gz"
version('3.1.1', sha256='d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c')
diff --git a/var/spack/repos/builtin/packages/py-pyshp/package.py b/var/spack/repos/builtin/packages/py-pyshp/package.py
index 1c0ff61d21..e21eaba281 100644
--- a/var/spack/repos/builtin/packages/py-pyshp/package.py
+++ b/var/spack/repos/builtin/packages/py-pyshp/package.py
@@ -11,7 +11,7 @@ class PyPyshp(PythonPackage):
pure Python."""
homepage = "https://github.com/GeospatialPython/pyshp"
- url = "https://pypi.io/packages/source/p/pyshp/pyshp-1.2.12.tar.gz"
+ pypi = "pyshp/pyshp-1.2.12.tar.gz"
version('2.1.0', sha256='e65c7f24d372b97d0920b864bbeb78322bb37b83f2606e2a2212631d5d51e5c0')
version('1.2.12', sha256='8dcd65e0aa2aa2951527ddb7339ea6e69023543d8a20a73fc51e2829b9ed6179')
diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py
index f6c86506c1..810d98e61f 100644
--- a/var/spack/repos/builtin/packages/py-pyside/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside/package.py
@@ -9,8 +9,7 @@ import os
class PyPyside(PythonPackage):
"""Python bindings for Qt."""
- homepage = "https://pypi.python.org/pypi/pyside"
- url = "https://pypi.io/packages/source/P/PySide/PySide-1.2.2.tar.gz"
+ pypi = "PySide/PySide-1.2.2.tar.gz"
# More recent versions of PySide2 (for Qt5) have been taken under
# the offical Qt umbrella. For more information, see:
diff --git a/var/spack/repos/builtin/packages/py-pyside2/package.py b/var/spack/repos/builtin/packages/py-pyside2/package.py
index fa70f45b0b..a0d144c1e8 100644
--- a/var/spack/repos/builtin/packages/py-pyside2/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside2/package.py
@@ -8,8 +8,8 @@ from spack import *
class PyPyside2(PythonPackage):
"""Python bindings for Qt."""
- homepage = "https://pypi.org/project/PySide2/"
- url = "https://code.qt.io/pyside/pyside-setup.git"
+
+ homepage = "https://www.pyside.org/"
git = "https://code.qt.io/pyside/pyside-setup.git"
# More recent versions of PySide2 (for Qt5) have been taken under
diff --git a/var/spack/repos/builtin/packages/py-pysmartdl/package.py b/var/spack/repos/builtin/packages/py-pysmartdl/package.py
index 16ba79f983..45c5f4c0bd 100644
--- a/var/spack/repos/builtin/packages/py-pysmartdl/package.py
+++ b/var/spack/repos/builtin/packages/py-pysmartdl/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPysmartdl(PythonPackage):
"""A Smart Download Manager for Python."""
- homepage = "https://pypi.python.org/pypi/pySmartDL/"
- url = "https://pypi.io/packages/source/p/pySmartDL/pySmartDL-1.3.2.tar.gz"
+ pypi = "pySmartDL/pySmartDL-1.3.2.tar.gz"
version('1.3.2', sha256='9a96deb3ee4f4ab2279b22eb908d506f57215e1fbad290d540adcebff187a52c')
version('1.2.5', sha256='d3968ce59412f99d8e17ca532a1d949d2aa770a914e3f5eb2c0385579dc2b6b8')
diff --git a/var/spack/repos/builtin/packages/py-pysocks/package.py b/var/spack/repos/builtin/packages/py-pysocks/package.py
index 2a37391e63..8bfbfbbe10 100644
--- a/var/spack/repos/builtin/packages/py-pysocks/package.py
+++ b/var/spack/repos/builtin/packages/py-pysocks/package.py
@@ -10,7 +10,7 @@ class PyPysocks(PythonPackage):
"""A Python SOCKS client module."""
homepage = "https://github.com/Anorov/PySocks"
- url = "https://pypi.io/packages/source/P/PySocks/PySocks-1.7.1.tar.gz"
+ pypi = "PySocks/PySocks-1.7.1.tar.gz"
version('1.7.1', sha256='3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0')
version('1.6.6', sha256='02419a225ff5dcfc3c9695ef8fc9b4d8cc99658e650c6d4718d4c8f451e63f41')
diff --git a/var/spack/repos/builtin/packages/py-pysolar/package.py b/var/spack/repos/builtin/packages/py-pysolar/package.py
index 54edb7fd87..3c880601b6 100644
--- a/var/spack/repos/builtin/packages/py-pysolar/package.py
+++ b/var/spack/repos/builtin/packages/py-pysolar/package.py
@@ -12,7 +12,7 @@ class PyPysolar(PythonPackage):
for extremely precise ephemeris calculations, and more."""
homepage = "http://pysolar.readthedocs.io"
- url = "https://pypi.io/packages/source/p/pysolar/pysolar-0.8.tar.gz"
+ pypi = "pysolar/pysolar-0.8.tar.gz"
version('0.8', sha256='548c05177acd2845143d9624e670635cd3e5c3a63782449ca35e090ca755c617')
diff --git a/var/spack/repos/builtin/packages/py-pyspark/package.py b/var/spack/repos/builtin/packages/py-pyspark/package.py
index 8b25e54c4b..da4f0a80cc 100644
--- a/var/spack/repos/builtin/packages/py-pyspark/package.py
+++ b/var/spack/repos/builtin/packages/py-pyspark/package.py
@@ -10,7 +10,7 @@ class PyPyspark(PythonPackage):
"""Python bindings for Apache Spark"""
homepage = "http://spark.apache.org"
- url = "https://pypi.io/packages/source/p/pyspark/pyspark-2.3.0.tar.gz"
+ pypi = "pyspark/pyspark-2.3.0.tar.gz"
version('2.4.4', sha256='13655eb113b8cf5f3f85b24fd92f86c4668a723723bd68949d028fa0df2cf694')
version('2.3.0', sha256='0b3536910e154c36a94239f0ba0a201f476aadc72006409e5787198ffd01986e')
diff --git a/var/spack/repos/builtin/packages/py-pysqlite/package.py b/var/spack/repos/builtin/packages/py-pysqlite/package.py
index a624f47dd6..bebaf65a67 100644
--- a/var/spack/repos/builtin/packages/py-pysqlite/package.py
+++ b/var/spack/repos/builtin/packages/py-pysqlite/package.py
@@ -10,7 +10,7 @@ class PyPysqlite(PythonPackage):
"""Python DB-API module for SQLite 3."""
homepage = "https://github.com/ghaering/pysqlite"
- url = "https://pypi.io/packages/source/p/pysqlite/pysqlite-2.8.3.tar.gz"
+ pypi = "pysqlite/pysqlite-2.8.3.tar.gz"
version('2.8.3', sha256='17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490')
diff --git a/var/spack/repos/builtin/packages/py-pytailf/package.py b/var/spack/repos/builtin/packages/py-pytailf/package.py
index 0b08866c12..021f70a744 100644
--- a/var/spack/repos/builtin/packages/py-pytailf/package.py
+++ b/var/spack/repos/builtin/packages/py-pytailf/package.py
@@ -10,7 +10,7 @@ class PyPytailf(PythonPackage):
"""Simple python tail -f wrapper"""
homepage = "https://bitbucket.org/angry_elf/pytailf/src/default/"
- url = "https://pypi.io/packages/source/p/pytailf/pytailf-1.1.tar.bz2"
+ pypi = "pytailf/pytailf-1.1.tar.bz2"
version('1.1', sha256='d97135ef28ac4a51dfd98887131ce2bffd5d0d6ba757793a4b79740dfb067ace')
diff --git a/var/spack/repos/builtin/packages/py-pytest-cache/package.py b/var/spack/repos/builtin/packages/py-pytest-cache/package.py
index c74cd44384..b6f9d7639b 100644
--- a/var/spack/repos/builtin/packages/py-pytest-cache/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-cache/package.py
@@ -12,7 +12,7 @@ class PyPytestCache(PythonPackage):
"""
homepage = "https://bitbucket.org/hpk42/pytest-cache/src/default/"
- url = "https://pypi.io/packages/source/p/pytest-cache/pytest-cache-1.0.tar.gz"
+ pypi = "pytest-cache/pytest-cache-1.0.tar.gz"
version('1.0', sha256='be7468edd4d3d83f1e844959fd6e3fd28e77a481440a7118d430130ea31b07a9')
diff --git a/var/spack/repos/builtin/packages/py-pytest-check-links/package.py b/var/spack/repos/builtin/packages/py-pytest-check-links/package.py
index 49269ce1f2..0b31a2e309 100644
--- a/var/spack/repos/builtin/packages/py-pytest-check-links/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-check-links/package.py
@@ -11,7 +11,7 @@ class PyPytestCheckLinks(PythonPackage):
"""pytest plugin that checks URLs for HTML-containing files."""
homepage = "https://github.com/jupyterlab/pytest-check-links"
- url = "https://pypi.io/packages/source/p/pytest-check-links/pytest_check_links-0.3.4.tar.gz"
+ pypi = "pytest-check-links/pytest_check_links-0.3.4.tar.gz"
version('0.3.4', sha256='4b3216548431bf9796557e8ee8fd8e5e77a69a4690b3b2f9bcf6fb5af16a502b')
diff --git a/var/spack/repos/builtin/packages/py-pytest-cov/package.py b/var/spack/repos/builtin/packages/py-pytest-cov/package.py
index 154547cda9..d1697d85db 100644
--- a/var/spack/repos/builtin/packages/py-pytest-cov/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-cov/package.py
@@ -10,7 +10,7 @@ class PyPytestCov(PythonPackage):
"""Pytest plugin for measuring coverage."""
homepage = "https://github.com/pytest-dev/pytest-cov"
- url = "https://pypi.io/packages/source/p/pytest-cov/pytest-cov-2.8.1.tar.gz"
+ pypi = "pytest-cov/pytest-cov-2.8.1.tar.gz"
version('2.8.1', sha256='cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b')
version('2.3.1', sha256='fa0a212283cdf52e2eecc24dd6459bb7687cc29adb60cb84258fab73be8dda0f')
diff --git a/var/spack/repos/builtin/packages/py-pytest-flake8/package.py b/var/spack/repos/builtin/packages/py-pytest-flake8/package.py
index 108196f7cc..44045d9d6f 100644
--- a/var/spack/repos/builtin/packages/py-pytest-flake8/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-flake8/package.py
@@ -10,7 +10,7 @@ class PyPytestFlake8(PythonPackage):
"""pytest plugin to check FLAKE8 requirements."""
homepage = "https://github.com/tholo/pytest-flake8"
- url = "https://pypi.io/packages/source/p/pytest-flake8/pytest-flake8-0.8.1.tar.gz"
+ pypi = "pytest-flake8/pytest-flake8-0.8.1.tar.gz"
version('0.8.1', sha256='aa10a6db147485d71dad391d4149388904c3072194d51755f64784ff128845fd')
diff --git a/var/spack/repos/builtin/packages/py-pytest-forked/package.py b/var/spack/repos/builtin/packages/py-pytest-forked/package.py
index 9fe5556428..876c8e201e 100644
--- a/var/spack/repos/builtin/packages/py-pytest-forked/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-forked/package.py
@@ -10,7 +10,7 @@ class PyPytestForked(PythonPackage):
"""Run tests in isolated forked subprocesses."""
homepage = "https://github.com/pytest-dev/pytest-forked"
- url = "https://pypi.io/packages/source/p/pytest-forked/pytest-forked-1.1.1.tar.gz"
+ pypi = "pytest-forked/pytest-forked-1.1.1.tar.gz"
version('1.1.1', sha256='e2d46f319c8063a3a0536b18f9cdea6eea3bc9fe2cb16c94e1d6fad3abc37300')
diff --git a/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py b/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
index 241828a977..fc96ee8916 100644
--- a/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
@@ -10,7 +10,7 @@ class PyPytestHttpbin(PythonPackage):
"""Easily test your HTTP library against a local copy of httpbin"""
homepage = "https://github.com/kevin1024/pytest-httpbin"
- url = "https://pypi.io/packages/source/p/pytest-httpbin/pytest-httpbin-1.0.0.tar.gz"
+ pypi = "pytest-httpbin/pytest-httpbin-1.0.0.tar.gz"
version('1.0.0', sha256='d8ce547f42423026550ed7765f6c6d50c033b43025e8592270a7abf970e19b72')
version('0.2.3', sha256='c5b698dfa474ffc9caebcb35e34346b753eb226aea5c2e1b69fefedbcf161bf8')
diff --git a/var/spack/repos/builtin/packages/py-pytest-isort/package.py b/var/spack/repos/builtin/packages/py-pytest-isort/package.py
index 2218d5debf..aab1fb9ccb 100644
--- a/var/spack/repos/builtin/packages/py-pytest-isort/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-isort/package.py
@@ -10,7 +10,7 @@ class PyPytestIsort(PythonPackage):
"""py.test plugin to check import ordering using isort"""
homepage = "http://github.com/moccu/pytest-isort/"
- url = "https://pypi.io/packages/source/p/pytest-isort/pytest-isort-0.3.1.tar.gz"
+ pypi = "pytest-isort/pytest-isort-0.3.1.tar.gz"
version('0.3.1', sha256='4bfee60dad1870b51700d55a85f5ceda766bd9d3d2878c1bbabee80e61b1be1a')
diff --git a/var/spack/repos/builtin/packages/py-pytest-mock/package.py b/var/spack/repos/builtin/packages/py-pytest-mock/package.py
index e5a3240d99..df70dac95b 100644
--- a/var/spack/repos/builtin/packages/py-pytest-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-mock/package.py
@@ -10,7 +10,7 @@ class PyPytestMock(PythonPackage):
"""Thin-wrapper around the mock package for easier use with py.test"""
homepage = "https://github.com/pytest-dev/pytest-mock"
- url = "https://pypi.io/packages/source/p/pytest-mock/pytest-mock-1.11.1.tar.gz"
+ pypi = "pytest-mock/pytest-mock-1.11.1.tar.gz"
version('1.11.1', sha256='f1ab8aefe795204efe7a015900296d1719e7bf0f4a0558d71e8599da1d1309d0')
version('1.2', sha256='f78971ed376fcb265255d1e4bb313731b3a1be92d7f3ecb19ea7fedc4a56fd0f',
diff --git a/var/spack/repos/builtin/packages/py-pytest-mypy/package.py b/var/spack/repos/builtin/packages/py-pytest-mypy/package.py
index 1f7cc82af8..b1a1fddc54 100644
--- a/var/spack/repos/builtin/packages/py-pytest-mypy/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-mypy/package.py
@@ -10,7 +10,7 @@ class PyPytestMypy(PythonPackage):
"""Mypy static type checker plugin for Pytest."""
homepage = "https://github.com/dbader/pytest-mypy"
- url = "https://pypi.io/packages/source/p/pytest-mypy/pytest-mypy-0.4.2.tar.gz"
+ pypi = "pytest-mypy/pytest-mypy-0.4.2.tar.gz"
version('0.4.2', sha256='5a5338cecff17f005b181546a13e282761754b481225df37f33d37f86ac5b304')
diff --git a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
index eb8ae7d974..f1f13c1120 100644
--- a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
@@ -10,7 +10,7 @@ class PyPytestPep8(PythonPackage):
"""pytest plugin for efficiently checking PEP8 compliance"""
homepage = "https://bitbucket.org/pytest-dev/pytest-pep8"
- url = "https://pypi.io/packages/source/p/pytest-pep8/pytest-pep8-1.0.6.tar.gz"
+ pypi = "pytest-pep8/pytest-pep8-1.0.6.tar.gz"
version('1.0.6', sha256='032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318')
diff --git a/var/spack/repos/builtin/packages/py-pytest-runner/package.py b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
index c621714796..102e416be4 100644
--- a/var/spack/repos/builtin/packages/py-pytest-runner/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
@@ -10,7 +10,7 @@ class PyPytestRunner(PythonPackage):
"""Invoke py.test as distutils command with dependency resolution."""
homepage = "https://github.com/pytest-dev/pytest-runner"
- url = "https://pypi.io/packages/source/p/pytest-runner/pytest-runner-5.1.tar.gz"
+ pypi = "pytest-runner/pytest-runner-5.1.tar.gz"
version('5.1', sha256='25a013c8d84f0ca60bb01bd11913a3bcab420f601f0f236de4423074af656e7a')
version('2.11.1', sha256='983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3')
diff --git a/var/spack/repos/builtin/packages/py-pytest-xdist/package.py b/var/spack/repos/builtin/packages/py-pytest-xdist/package.py
index 389d7c7689..09893fb5a1 100644
--- a/var/spack/repos/builtin/packages/py-pytest-xdist/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-xdist/package.py
@@ -10,7 +10,7 @@ class PyPytestXdist(PythonPackage):
"""py.test xdist plugin for distributed testing and loop-on-failing mode"""
homepage = "https://github.com/pytest-dev/pytest-xdist"
- url = "https://pypi.io/packages/source/p/pytest-xdist/pytest-xdist-1.30.0.tar.gz"
+ pypi = "pytest-xdist/pytest-xdist-1.30.0.tar.gz"
version('1.30.0', sha256='5d1b1d4461518a6023d56dab62fb63670d6f7537f23e2708459a557329accf48')
version('1.29.0', sha256='3489d91516d7847db5eaecff7a2e623dba68984835dbe6cedb05ae126c4fb17f')
diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py
index 696aa573c2..aa2a2ca741 100644
--- a/var/spack/repos/builtin/packages/py-pytest/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest/package.py
@@ -10,7 +10,7 @@ class PyPytest(PythonPackage):
"""pytest: simple powerful testing with Python."""
homepage = "http://pytest.org/"
- url = "https://pypi.io/packages/source/p/pytest/pytest-5.2.1.tar.gz"
+ pypi = "pytest/pytest-5.2.1.tar.gz"
version('5.3.4', sha256='1d122e8be54d1a709e56f82e2d85dcba3018313d64647f38a91aec88c239b600')
version('5.2.1', sha256='ca563435f4941d0cb34767301c27bc65c510cb82e90b9ecf9cb52dc2c63caaa0')
diff --git a/var/spack/repos/builtin/packages/py-python-daemon/package.py b/var/spack/repos/builtin/packages/py-python-daemon/package.py
index 6b70c03234..92283e1090 100644
--- a/var/spack/repos/builtin/packages/py-python-daemon/package.py
+++ b/var/spack/repos/builtin/packages/py-python-daemon/package.py
@@ -18,8 +18,7 @@ class PyPythonDaemon(PythonPackage):
environment for the program; use the instance as a context manager
to enter a daemon state.
"""
- homepage = "https://pypi.python.org/pypi/python-daemon/"
- url = "https://pypi.io/packages/source/p/python-daemon/python-daemon-2.0.5.tar.gz"
+ pypi = "python-daemon/python-daemon-2.0.5.tar.gz"
version('2.0.5', sha256='afde4fa433d94d007206ee31a0941d55b5eb232a5422b670aad628547b46bf68')
diff --git a/var/spack/repos/builtin/packages/py-python-dateutil/package.py b/var/spack/repos/builtin/packages/py-python-dateutil/package.py
index cf8ea1f90d..01580c06da 100644
--- a/var/spack/repos/builtin/packages/py-python-dateutil/package.py
+++ b/var/spack/repos/builtin/packages/py-python-dateutil/package.py
@@ -10,7 +10,7 @@ class PyPythonDateutil(PythonPackage):
"""Extensions to the standard Python datetime module."""
homepage = "https://dateutil.readthedocs.io/"
- url = "https://pypi.io/packages/source/p/python-dateutil/python-dateutil-2.8.0.tar.gz"
+ pypi = "python-dateutil/python-dateutil-2.8.0.tar.gz"
version('2.8.0', sha256='c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e')
version('2.7.5', sha256='88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02')
diff --git a/var/spack/repos/builtin/packages/py-python-docs-theme/package.py b/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
index 4b1b7232b4..d4851fb761 100644
--- a/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
@@ -11,7 +11,7 @@ class PyPythonDocsTheme(PythonPackage):
"""
homepage = "https://docs.python.org/3/"
- url = "https://pypi.io/packages/source/p/python-docs-theme/python-docs-theme-2018.7.tar.gz"
+ pypi = "python-docs-theme/python-docs-theme-2018.7.tar.gz"
version('2020.1', sha256='29c33ba393bdb9377910116a0c1cc329573a4e040227c58a3293d27928d8262a')
version('2018.7', sha256='018a5bf2a7318c9c9a8346303dac8afc6bc212d92e86561c9b95a3372714155a')
diff --git a/var/spack/repos/builtin/packages/py-python-editor/package.py b/var/spack/repos/builtin/packages/py-python-editor/package.py
index 3db92f7a21..dfb7712f48 100644
--- a/var/spack/repos/builtin/packages/py-python-editor/package.py
+++ b/var/spack/repos/builtin/packages/py-python-editor/package.py
@@ -10,8 +10,7 @@ class PyPythonEditor(PythonPackage):
"""python-editor is a library that provides the editor module for
programmatically interfacing with your system's EDITOR variable."""
- homepage = "https://pypi.org/project/python-editor/"
- url = "https://pypi.io/packages/source/p/python-editor/python-editor-1.0.4.tar.gz"
+ pypi = "python-editor/python-editor-1.0.4.tar.gz"
version('1.0.4', sha256='51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b')
diff --git a/var/spack/repos/builtin/packages/py-python-gitlab/package.py b/var/spack/repos/builtin/packages/py-python-gitlab/package.py
index e21c10b24d..b79519bccf 100644
--- a/var/spack/repos/builtin/packages/py-python-gitlab/package.py
+++ b/var/spack/repos/builtin/packages/py-python-gitlab/package.py
@@ -10,7 +10,7 @@ class PyPythonGitlab(PythonPackage):
"""Python wrapper for the GitLab API"""
homepage = "https://github.com/gpocentek/python-gitlab"
- url = "https://pypi.io/packages/source/p/python-gitlab/python-gitlab-0.19.tar.gz"
+ pypi = "python-gitlab/python-gitlab-0.19.tar.gz"
version('1.8.0', sha256='a6b03bc53f6e2e22b88d5ff9772b1bb360570ec82752f1def3d6eb60cda093e7')
version('0.19', sha256='88b65591db7a10a0d9979797e4e654a113e2b93b3a559309f6092b27ab93934a')
diff --git a/var/spack/repos/builtin/packages/py-python-jenkins/package.py b/var/spack/repos/builtin/packages/py-python-jenkins/package.py
index 601951c90e..d3592bb9de 100644
--- a/var/spack/repos/builtin/packages/py-python-jenkins/package.py
+++ b/var/spack/repos/builtin/packages/py-python-jenkins/package.py
@@ -10,7 +10,7 @@ class PyPythonJenkins(PythonPackage):
"""Python bindings for the remote Jenkins API"""
homepage = "https://opendev.org/jjb/python-jenkins/"
- url = "https://pypi.io/packages/source/p/python-jenkins/python-jenkins-1.5.0.tar.gz"
+ pypi = "python-jenkins/python-jenkins-1.5.0.tar.gz"
version('1.5.0', sha256='0b11f7c1dffc48579afefa8a310cba5b1c98785b9132892ff8cf5312f32ebc90')
version('1.0.2', sha256='54aba30cf49f78f9eb64e9717ad8049dacf090731a3e0c27e6035f9ec52ff78e')
diff --git a/var/spack/repos/builtin/packages/py-python-json-logger/package.py b/var/spack/repos/builtin/packages/py-python-json-logger/package.py
index b3aa3efbca..54002177b1 100644
--- a/var/spack/repos/builtin/packages/py-python-json-logger/package.py
+++ b/var/spack/repos/builtin/packages/py-python-json-logger/package.py
@@ -10,7 +10,7 @@ class PyPythonJsonLogger(PythonPackage):
""""A python library adding a json log formatter."""
homepage = "https://github.com/madzak/python-json-logger"
- url = "https://pypi.io/packages/source/p/python-json-logger/python-json-logger-0.1.11.tar.gz"
+ pypi = "python-json-logger/python-json-logger-0.1.11.tar.gz"
version('0.1.11', sha256='b7a31162f2a01965a5efb94453ce69230ed208468b0bbc7fdfc56e6d8df2e281')
diff --git a/var/spack/repos/builtin/packages/py-python-ldap/package.py b/var/spack/repos/builtin/packages/py-python-ldap/package.py
index e4f8cc1938..9f0221ca45 100644
--- a/var/spack/repos/builtin/packages/py-python-ldap/package.py
+++ b/var/spack/repos/builtin/packages/py-python-ldap/package.py
@@ -12,7 +12,7 @@ class PyPythonLdap(PythonPackage):
"""
homepage = "https://www.python-ldap.org/en/python-ldap-3.2.0/"
- url = "https://pypi.io/packages/source/p/python-ldap/python-ldap-3.2.0.tar.gz"
+ pypi = "python-ldap/python-ldap-3.2.0.tar.gz"
version('3.2.0', sha256='7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e')
version('3.0.0', sha256='86746b912a2cd37a54b06c694f021b0c8556d4caeab75ef50435ada152e2fbe1')
diff --git a/var/spack/repos/builtin/packages/py-python-levenshtein/package.py b/var/spack/repos/builtin/packages/py-python-levenshtein/package.py
index 5dc3a4305d..236552f712 100644
--- a/var/spack/repos/builtin/packages/py-python-levenshtein/package.py
+++ b/var/spack/repos/builtin/packages/py-python-levenshtein/package.py
@@ -11,7 +11,7 @@ class PyPythonLevenshtein(PythonPackage):
similarities."""
homepage = "https://github.com/ztane/python-Levenshtein"
- url = "https://pypi.io/packages/source/p/python-Levenshtein/python-Levenshtein-0.12.0.tar.gz"
+ pypi = "python-Levenshtein/python-Levenshtein-0.12.0.tar.gz"
version('0.12.0', sha256='033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1')
diff --git a/var/spack/repos/builtin/packages/py-python-logstash/package.py b/var/spack/repos/builtin/packages/py-python-logstash/package.py
index 5eb60590d2..8a4386b235 100644
--- a/var/spack/repos/builtin/packages/py-python-logstash/package.py
+++ b/var/spack/repos/builtin/packages/py-python-logstash/package.py
@@ -10,6 +10,6 @@ class PyPythonLogstash(PythonPackage):
"""Python logging handler for Logstash."""
homepage = "https://github.com/vklochan/python-logstash"
- url = "https://pypi.io/packages/source/p/python-logstash/python-logstash-0.4.6.tar.gz"
+ pypi = "python-logstash/python-logstash-0.4.6.tar.gz"
version('0.4.6', sha256='10943e5df83f592b4d61b63ad1afff855ccc8c9467f78718f0a59809ba1fe68c')
diff --git a/var/spack/repos/builtin/packages/py-python-lzo/package.py b/var/spack/repos/builtin/packages/py-python-lzo/package.py
index acf60351b7..df611ce15e 100644
--- a/var/spack/repos/builtin/packages/py-python-lzo/package.py
+++ b/var/spack/repos/builtin/packages/py-python-lzo/package.py
@@ -11,7 +11,7 @@ class PyPythonLzo(PythonPackage):
library."""
homepage = "https://github.com/jd-boyd/python-lzo"
- url = "https://pypi.io/packages/source/p/python-lzo/python-lzo-1.12.tar.gz"
+ pypi = "python-lzo/python-lzo-1.12.tar.gz"
version('1.12', sha256='97a8e46825e8f1abd84c2a3372bc09adae9745a5be5d3af2692cd850dac35345')
diff --git a/var/spack/repos/builtin/packages/py-python-magic/package.py b/var/spack/repos/builtin/packages/py-python-magic/package.py
index 7fe5bab70c..4e45c1877a 100644
--- a/var/spack/repos/builtin/packages/py-python-magic/package.py
+++ b/var/spack/repos/builtin/packages/py-python-magic/package.py
@@ -11,7 +11,7 @@ class PyPythonMagic(PythonPackage):
"""A python wrapper for libmagic"""
homepage = "https://github.com/ahupp/python-magic"
- url = "https://pypi.io/packages/source/p/python-magic/python-magic-0.4.15.tar.gz"
+ pypi = "python-magic/python-magic-0.4.15.tar.gz"
version('0.4.15', sha256='f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5')
diff --git a/var/spack/repos/builtin/packages/py-python-memcached/package.py b/var/spack/repos/builtin/packages/py-python-memcached/package.py
index 9347aea117..7a18575d51 100644
--- a/var/spack/repos/builtin/packages/py-python-memcached/package.py
+++ b/var/spack/repos/builtin/packages/py-python-memcached/package.py
@@ -12,8 +12,7 @@ class PyPythonMemcached(PythonPackage):
or more, possibly remote, memcached servers. Search google for memcached
for more information."""
- homepage = "https://pypi.org/project/python-memcached/"
- url = "https://pypi.io/packages/source/p/python-memcached/python-memcached-1.59.tar.gz"
+ pypi = "python-memcached/python-memcached-1.59.tar.gz"
version('1.59', sha256='a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f')
diff --git a/var/spack/repos/builtin/packages/py-python-oauth2/package.py b/var/spack/repos/builtin/packages/py-python-oauth2/package.py
index 1ced77c542..160995bae6 100644
--- a/var/spack/repos/builtin/packages/py-python-oauth2/package.py
+++ b/var/spack/repos/builtin/packages/py-python-oauth2/package.py
@@ -10,8 +10,7 @@ class PyPythonOauth2(PythonPackage):
"""python-oauth2 is a framework that aims at making it easy to
provide authentication via OAuth 2.0 within an application stack."""
- homepage = "https://pypi.org/project/python-oauth2/"
- url = "https://pypi.io/packages/source/p/python-oauth2/python-oauth2-1.1.1.tar.gz"
+ pypi = "python-oauth2/python-oauth2-1.1.1.tar.gz"
version('1.1.1', sha256='d7a8544927ac18215ba5317edd8f640a5f1f0593921bcf3ce862178312c8c9a4')
diff --git a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
index 3715c34b64..f7a3299476 100644
--- a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
+++ b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
@@ -10,7 +10,7 @@ class PyPythonRapidjson(PythonPackage):
"""Python wrapper around rapidjson."""
homepage = "https://github.com/python-rapidjson/python-rapidjson"
- url = "https://pypi.io/packages/source/p/python-rapidjson/python-rapidjson-0.9.1.tar.gz"
+ pypi = "python-rapidjson/python-rapidjson-0.9.1.tar.gz"
version('0.9.1', sha256='ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1')
diff --git a/var/spack/repos/builtin/packages/py-python-slugify/package.py b/var/spack/repos/builtin/packages/py-python-slugify/package.py
index 506fb66810..99ac1680c7 100644
--- a/var/spack/repos/builtin/packages/py-python-slugify/package.py
+++ b/var/spack/repos/builtin/packages/py-python-slugify/package.py
@@ -10,7 +10,7 @@ class PyPythonSlugify(PythonPackage):
"""A Python Slugify application that handles Unicode"""
homepage = "https://github.com/un33k/python-slugify"
- url = "https://pypi.io/packages/source/p/python-slugify/python-slugify-4.0.0.tar.gz"
+ pypi = "python-slugify/python-slugify-4.0.0.tar.gz"
version('4.0.0', sha256='a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c')
diff --git a/var/spack/repos/builtin/packages/py-python-socketio/package.py b/var/spack/repos/builtin/packages/py-python-socketio/package.py
index dad0618940..b369321f1a 100644
--- a/var/spack/repos/builtin/packages/py-python-socketio/package.py
+++ b/var/spack/repos/builtin/packages/py-python-socketio/package.py
@@ -10,7 +10,7 @@ class PyPythonSocketio(PythonPackage):
"""Python implementation of the Socket.IO realtime server."""
homepage = "https://github.com/miguelgrinberg/python-socketio"
- url = "https://pypi.io/packages/source/p/python-socketio/python-socketio-1.8.4.tar.gz"
+ pypi = "python-socketio/python-socketio-1.8.4.tar.gz"
version('1.8.4', sha256='13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc')
diff --git a/var/spack/repos/builtin/packages/py-python-subunit/package.py b/var/spack/repos/builtin/packages/py-python-subunit/package.py
index e894ae2b71..7074ebb7b9 100644
--- a/var/spack/repos/builtin/packages/py-python-subunit/package.py
+++ b/var/spack/repos/builtin/packages/py-python-subunit/package.py
@@ -10,7 +10,7 @@ class PyPythonSubunit(PythonPackage):
"""Python implementation of subunit test streaming protocol."""
homepage = "https://launchpad.net/subunit"
- url = "https://pypi.io/packages/source/p/python-subunit/python-subunit-1.3.0.tar.gz"
+ pypi = "python-subunit/python-subunit-1.3.0.tar.gz"
version('1.3.0', sha256='9607edbee4c1e5a30ff88549ce8d9feb0b9bcbcb5e55033a9d76e86075465cbb')
diff --git a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
index a8f24784be..d27fff7ca2 100644
--- a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
+++ b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
@@ -10,7 +10,7 @@ class PyPythonSwiftclient(PythonPackage):
"""This is a python client for the Swift API."""
homepage = "https://docs.openstack.org/python-swiftclient"
- url = "https://pypi.io/packages/source/p/python-swiftclient/python-swiftclient-3.9.0.tar.gz"
+ pypi = "python-swiftclient/python-swiftclient-3.9.0.tar.gz"
maintainers = ['ajkotobi']
diff --git a/var/spack/repos/builtin/packages/py-python-utils/package.py b/var/spack/repos/builtin/packages/py-python-utils/package.py
index e192c67cc9..6118d2fdcf 100644
--- a/var/spack/repos/builtin/packages/py-python-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-python-utils/package.py
@@ -12,7 +12,7 @@ class PyPythonUtils(PythonPackage):
which make common patterns shorter and easier."""
homepage = "https://github.com/WoLpH/python-utils"
- url = "https://pypi.io/packages/source/p/python-utils/python-utils-2.4.0.tar.gz"
+ pypi = "python-utils/python-utils-2.4.0.tar.gz"
version('2.4.0', sha256='f21fc09ff58ea5ebd1fd2e8ef7f63e39d456336900f26bdc9334a03a3f7d8089')
version('2.3.0', sha256='34aaf26b39b0b86628008f2ae0ac001b30e7986a8d303b61e1357dfcdad4f6d3')
diff --git a/var/spack/repos/builtin/packages/py-pythonqwt/package.py b/var/spack/repos/builtin/packages/py-pythonqwt/package.py
index 8de66c15bb..61fbd56474 100644
--- a/var/spack/repos/builtin/packages/py-pythonqwt/package.py
+++ b/var/spack/repos/builtin/packages/py-pythonqwt/package.py
@@ -10,7 +10,7 @@ class PyPythonqwt(PythonPackage):
"""Qt plotting widgets for Python"""
homepage = "https://github.com/PierreRaybaut/PythonQwt"
- url = "https://pypi.io/packages/source/P/PythonQwt/PythonQwt-0.5.5.zip"
+ pypi = "PythonQwt/PythonQwt-0.5.5.zip"
version('0.5.5', sha256='1f13cc8b555a57f8fe0f806d6c2f6d847050e4d837649503932b81316d12788a')
diff --git a/var/spack/repos/builtin/packages/py-pytimeparse/package.py b/var/spack/repos/builtin/packages/py-pytimeparse/package.py
index ef2a2e8196..7431358cb2 100644
--- a/var/spack/repos/builtin/packages/py-pytimeparse/package.py
+++ b/var/spack/repos/builtin/packages/py-pytimeparse/package.py
@@ -10,7 +10,7 @@ class PyPytimeparse(PythonPackage):
"""A small Python library to parse various kinds of time expressions."""
homepage = "https://github.com/wroberts/pytimeparse"
- url = "https://pypi.io/packages/source/p/pytimeparse/pytimeparse-1.1.8.tar.gz"
+ pypi = "pytimeparse/pytimeparse-1.1.8.tar.gz"
version('1.1.8', sha256='e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a')
diff --git a/var/spack/repos/builtin/packages/py-pytools/package.py b/var/spack/repos/builtin/packages/py-pytools/package.py
index 95b33b9707..b9e939923c 100644
--- a/var/spack/repos/builtin/packages/py-pytools/package.py
+++ b/var/spack/repos/builtin/packages/py-pytools/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyPytools(PythonPackage):
"""A collection of tools for Python"""
- homepage = "https://pypi.org/project/pytools/"
- url = "https://pypi.io/packages/source/p/pytools/pytools-2019.1.1.tar.gz"
+ pypi = "pytools/pytools-2019.1.1.tar.gz"
version('2019.1.1', sha256='ce2d702ae4ef10a70197b00b93141461140d00578f2a862fa946ca1446a300db')
version('2016.2.6', sha256='6dd49932b8f81a8b622685cff3dd515e351a9290aef0fd5d020e4df00c06aa95')
diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py
index 601509d9ba..69cc56e8f0 100644
--- a/var/spack/repos/builtin/packages/py-pytz/package.py
+++ b/var/spack/repos/builtin/packages/py-pytz/package.py
@@ -10,7 +10,7 @@ class PyPytz(PythonPackage):
"""World timezone definitions, modern and historical."""
homepage = "http://pythonhosted.org/pytz"
- url = "https://pypi.io/packages/source/p/pytz/pytz-2019.3.tar.gz"
+ pypi = "pytz/pytz-2019.3.tar.gz"
version('2020.1', sha256='c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048')
version('2019.3', sha256='b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be')
diff --git a/var/spack/repos/builtin/packages/py-pyudev/package.py b/var/spack/repos/builtin/packages/py-pyudev/package.py
index 700eec6b62..bb0966f92e 100644
--- a/var/spack/repos/builtin/packages/py-pyudev/package.py
+++ b/var/spack/repos/builtin/packages/py-pyudev/package.py
@@ -10,7 +10,7 @@ class PyPyudev(PythonPackage):
"""Pure Python libudev binding"""
homepage = "https://pyudev.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/p/pyudev/pyudev-0.9.tar.gz"
+ pypi = "pyudev/pyudev-0.9.tar.gz"
version('0.21.0', sha256='094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b')
version('0.15', sha256='12f462b777388c447edaac9e4b423a38a76eeb43f36b1a42288e771309d663c2')
diff --git a/var/spack/repos/builtin/packages/py-pyugrid/package.py b/var/spack/repos/builtin/packages/py-pyugrid/package.py
index c411460ea6..73514ff351 100644
--- a/var/spack/repos/builtin/packages/py-pyugrid/package.py
+++ b/var/spack/repos/builtin/packages/py-pyugrid/package.py
@@ -10,7 +10,7 @@ class PyPyugrid(PythonPackage):
"""Work with triangular unstructured grids and the data on them."""
homepage = "https://github.com/pyugrid/pyugrid"
- url = "https://pypi.io/packages/source/p/pyugrid/pyugrid-0.3.1.tar.gz"
+ pypi = "pyugrid/pyugrid-0.3.1.tar.gz"
version('0.3.1', sha256='eddadc1e88c0e801f780b1e6f636fbfc00e3d14cdab82b43300fde0918310053')
diff --git a/var/spack/repos/builtin/packages/py-pywavelets/package.py b/var/spack/repos/builtin/packages/py-pywavelets/package.py
index 91d077d13e..049b87f4b2 100644
--- a/var/spack/repos/builtin/packages/py-pywavelets/package.py
+++ b/var/spack/repos/builtin/packages/py-pywavelets/package.py
@@ -12,7 +12,7 @@ class PyPywavelets(PythonPackage):
in Python"""
homepage = "https://github.com/PyWavelets"
- url = "https://pypi.io/packages/source/P/PyWavelets/PyWavelets-0.5.2.tar.gz"
+ pypi = "PyWavelets/PyWavelets-0.5.2.tar.gz"
version('1.1.1', sha256='1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9')
version('0.5.2', sha256='ce36e2f0648ea1781490b09515363f1f64446b0eac524603e5db5e180113bed9')
diff --git a/var/spack/repos/builtin/packages/py-pyyaml/package.py b/var/spack/repos/builtin/packages/py-pyyaml/package.py
index 419282250f..a26b45c8ba 100644
--- a/var/spack/repos/builtin/packages/py-pyyaml/package.py
+++ b/var/spack/repos/builtin/packages/py-pyyaml/package.py
@@ -10,7 +10,7 @@ class PyPyyaml(PythonPackage):
"""PyYAML is a YAML parser and emitter for Python."""
homepage = "https://pyyaml.org/wiki/PyYAML"
- url = "https://pypi.io/packages/source/P/PyYAML/PyYAML-5.3.1.tar.gz"
+ pypi = "PyYAML/PyYAML-5.3.1.tar.gz"
git = "https://github.com/yaml/pyyaml.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-qsymm/package.py b/var/spack/repos/builtin/packages/py-qsymm/package.py
index e550f342cd..b354da645c 100644
--- a/var/spack/repos/builtin/packages/py-qsymm/package.py
+++ b/var/spack/repos/builtin/packages/py-qsymm/package.py
@@ -12,7 +12,7 @@ class PyQsymm(PythonPackage):
constraints and finds the full symmetry group of your Hamiltonian."""
homepage = "https://gitlab.kwant-project.org/qt/qsymm"
- url = "https://pypi.io/packages/source/q/qsymm/qsymm-1.2.7.tar.gz"
+ pypi = "qsymm/qsymm-1.2.7.tar.gz"
git = "https://gitlab.kwant-project.org/qt/qsymm.git"
# Add a list of GitHub accounts to notify when the
diff --git a/var/spack/repos/builtin/packages/py-qtawesome/package.py b/var/spack/repos/builtin/packages/py-qtawesome/package.py
index 962a74654a..ffb5a8a55d 100644
--- a/var/spack/repos/builtin/packages/py-qtawesome/package.py
+++ b/var/spack/repos/builtin/packages/py-qtawesome/package.py
@@ -10,7 +10,7 @@ class PyQtawesome(PythonPackage):
"""FontAwesome icons in PyQt and PySide applications"""
homepage = "https://github.com/spyder-ide/qtawesome"
- url = "https://pypi.io/packages/source/Q/QtAwesome/QtAwesome-0.4.1.tar.gz"
+ pypi = "QtAwesome/QtAwesome-0.4.1.tar.gz"
version('0.4.1', sha256='9ea91efeb83e8b73f814aeca898c29cade0c087acec58e91b4f384595aeb4cfd')
version('0.3.3', sha256='c3c98ee4df0133ae42d202fea20253f8746266b4541c5df4269ca4131792ce0f')
diff --git a/var/spack/repos/builtin/packages/py-qtconsole/package.py b/var/spack/repos/builtin/packages/py-qtconsole/package.py
index 75c1e97b1c..ee0f3b0347 100644
--- a/var/spack/repos/builtin/packages/py-qtconsole/package.py
+++ b/var/spack/repos/builtin/packages/py-qtconsole/package.py
@@ -10,7 +10,7 @@ class PyQtconsole(PythonPackage):
"""Jupyter Qt console"""
homepage = "http://ipython.org"
- url = "https://pypi.io/packages/source/q/qtconsole/qtconsole-4.2.1.tar.gz"
+ pypi = "qtconsole/qtconsole-4.2.1.tar.gz"
version('4.5.1', sha256='4af84facdd6f00a6b9b2927255f717bb23ae4b7a20ba1d9ef0a5a5a8dbe01ae2')
version('4.2.1', sha256='25ec7d345528b3e8f3c91be349dd3c699755f206dc4b6ec668e2e5dd60ea18ef')
diff --git a/var/spack/repos/builtin/packages/py-qtpy/package.py b/var/spack/repos/builtin/packages/py-qtpy/package.py
index 6acb27f6cf..c5d609d211 100644
--- a/var/spack/repos/builtin/packages/py-qtpy/package.py
+++ b/var/spack/repos/builtin/packages/py-qtpy/package.py
@@ -10,7 +10,7 @@ class PyQtpy(PythonPackage):
"""QtPy: Abtraction layer for PyQt5/PyQt4/PySide/PySide2"""
homepage = "https://github.com/spyder-ide/qtpy"
- url = "https://pypi.io/packages/source/Q/QtPy/QtPy-1.2.1.tar.gz"
+ pypi = "QtPy/QtPy-1.2.1.tar.gz"
version('1.7.1', sha256='e97275750934b3a1f4d8e263f5b889ae817ed36f26867ab0ce52be731ab1ed9e')
version('1.2.1', sha256='5803ce31f50b24295e8e600b76cc91d7f2a3140a5a0d526d40226f9ec5e9097d')
diff --git a/var/spack/repos/builtin/packages/py-quantities/package.py b/var/spack/repos/builtin/packages/py-quantities/package.py
index 0f46396aff..0776a72661 100644
--- a/var/spack/repos/builtin/packages/py-quantities/package.py
+++ b/var/spack/repos/builtin/packages/py-quantities/package.py
@@ -10,7 +10,7 @@ class PyQuantities(PythonPackage):
"""Support for physical quantities with units, based on numpy"""
homepage = "http://python-quantities.readthedocs.org"
- url = "https://pypi.io/packages/source/q/quantities/quantities-0.12.1.tar.gz"
+ pypi = "quantities/quantities-0.12.1.tar.gz"
version('0.12.1', sha256='0a03e8511db603c57ca80dee851c43f08d0457f4d592bcac2e154570756cb934')
version('0.11.1', sha256='4382098a501b55bf0fdb3dba2061a161041253697d78811ecfd7c55449836660',
diff --git a/var/spack/repos/builtin/packages/py-queryablelist/package.py b/var/spack/repos/builtin/packages/py-queryablelist/package.py
index f69e621e83..d460e4137c 100644
--- a/var/spack/repos/builtin/packages/py-queryablelist/package.py
+++ b/var/spack/repos/builtin/packages/py-queryablelist/package.py
@@ -11,7 +11,7 @@ class PyQueryablelist(PythonPackage):
items"""
homepage = "https://github.com/kata198/QueryableList"
- url = "https://pypi.io/packages/source/q/queryablelist/QueryableList-3.1.0.tar.gz"
+ pypi = "queryablelist/QueryableList-3.1.0.tar.gz"
version('3.1.0', sha256='8891dccbadc69a35f5944e1826d8f8db224522aa3af913e301a7a448f5b411e9')
diff --git a/var/spack/repos/builtin/packages/py-radical-utils/package.py b/var/spack/repos/builtin/packages/py-radical-utils/package.py
index c0c38ecd40..4c8ded5084 100644
--- a/var/spack/repos/builtin/packages/py-radical-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-utils/package.py
@@ -10,7 +10,7 @@ class PyRadicalUtils(PythonPackage):
"""Shared code and tools for various RADICAL Projects"""
homepage = "http://radical.rutgers.edu"
- url = "https://pypi.io/packages/source/r/radical.utils/radical.utils-0.45.tar.gz"
+ pypi = "radical.utils/radical.utils-0.45.tar.gz"
version('0.45', sha256='1333cff1a69532e51d4484fbac3fad6b172d415d2055a3141117c7cf8bdee6c5')
version('0.41.1', sha256='582900e0434f49b69885a89bc65dc787362756e1014d52a4afac0bb61bcaa3ce')
diff --git a/var/spack/repos/builtin/packages/py-ranger-fm/package.py b/var/spack/repos/builtin/packages/py-ranger-fm/package.py
index 92485a649b..8c4dfe7f49 100644
--- a/var/spack/repos/builtin/packages/py-ranger-fm/package.py
+++ b/var/spack/repos/builtin/packages/py-ranger-fm/package.py
@@ -10,8 +10,7 @@ from spack import *
class PyRangerFm(PythonPackage):
"""A VIM-inspired filemanager for the console"""
- homepage = "https://pypi.python.org/pypi/ranger-fm"
- url = "https://pypi.io/packages/source/r/ranger-fm/ranger-fm-1.9.2.tar.gz"
+ pypi = "ranger-fm/ranger-fm-1.9.2.tar.gz"
git = "https://github.com/ranger/ranger.git"
version('1.9.2', sha256='0ec62031185ad1f40b9faebd5a2d517c8597019c2eee919e3f1c60ce466d8625')
diff --git a/var/spack/repos/builtin/packages/py-rasterio/package.py b/var/spack/repos/builtin/packages/py-rasterio/package.py
index f8b3c8d80d..357aca2399 100644
--- a/var/spack/repos/builtin/packages/py-rasterio/package.py
+++ b/var/spack/repos/builtin/packages/py-rasterio/package.py
@@ -15,7 +15,7 @@ class PyRasterio(PythonPackage):
arrays."""
homepage = "https://github.com/mapbox/rasterio"
- url = "https://pypi.io/packages/source/r/rasterio/rasterio-1.1.8.tar.gz"
+ pypi = "rasterio/rasterio-1.1.8.tar.gz"
git = "https://github.com/mapbox/rasterio.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-ratelim/package.py b/var/spack/repos/builtin/packages/py-ratelim/package.py
index 30653282cb..422dcc789d 100644
--- a/var/spack/repos/builtin/packages/py-ratelim/package.py
+++ b/var/spack/repos/builtin/packages/py-ratelim/package.py
@@ -10,7 +10,7 @@ class PyRatelim(PythonPackage):
"""Makes it easy to respect rate limits."""
homepage = "https://github.com/themiurgo/ratelim"
- url = "https://pypi.io/packages/source/r/ratelim/ratelim-0.1.6.tar.gz"
+ pypi = "ratelim/ratelim-0.1.6.tar.gz"
version('0.1.6', sha256='826d32177e11f9a12831901c9fda6679fd5bbea3605910820167088f5acbb11d')
diff --git a/var/spack/repos/builtin/packages/py-raven/package.py b/var/spack/repos/builtin/packages/py-raven/package.py
index a78fc59f0a..2f8a957649 100644
--- a/var/spack/repos/builtin/packages/py-raven/package.py
+++ b/var/spack/repos/builtin/packages/py-raven/package.py
@@ -10,7 +10,7 @@ class PyRaven(PythonPackage):
"""Raven is a client for Sentry."""
homepage = "https://github.com/getsentry/raven-python"
- url = "https://pypi.io/packages/source/r/raven/raven-6.10.0.tar.gz"
+ pypi = "raven/raven-6.10.0.tar.gz"
version('6.10.0', sha256='3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54')
diff --git a/var/spack/repos/builtin/packages/py-rdflib/package.py b/var/spack/repos/builtin/packages/py-rdflib/package.py
index 5e1b8da03a..7abc03d8c9 100644
--- a/var/spack/repos/builtin/packages/py-rdflib/package.py
+++ b/var/spack/repos/builtin/packages/py-rdflib/package.py
@@ -16,7 +16,7 @@ class PyRdflib(PythonPackage):
statements """
homepage = "https://github.com/RDFLib/rdflib"
- url = "https://pypi.io/packages/source/r/rdflib/rdflib-5.0.0.tar.gz"
+ pypi = "rdflib/rdflib-5.0.0.tar.gz"
version('5.0.0', sha256='78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155')
diff --git a/var/spack/repos/builtin/packages/py-readme-renderer/package.py b/var/spack/repos/builtin/packages/py-readme-renderer/package.py
index 9df50f2890..8edac774dd 100644
--- a/var/spack/repos/builtin/packages/py-readme-renderer/package.py
+++ b/var/spack/repos/builtin/packages/py-readme-renderer/package.py
@@ -11,7 +11,7 @@ class PyReadmeRenderer(PythonPackage):
for Warehouse."""
homepage = "https://github.com/pypa/readme_renderer"
- url = "https://pypi.io/packages/source/r/readme_renderer/readme_renderer-24.0.tar.gz"
+ pypi = "readme_renderer/readme_renderer-24.0.tar.gz"
version('24.0', sha256='bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f')
version('16.0', sha256='c46b3418ddef3c3c3f819a4a9cfd56ede15c03d12197962a7e7a89edf1823dd5')
diff --git a/var/spack/repos/builtin/packages/py-recommonmark/package.py b/var/spack/repos/builtin/packages/py-recommonmark/package.py
index ad27abc0c1..c1504ee6b4 100644
--- a/var/spack/repos/builtin/packages/py-recommonmark/package.py
+++ b/var/spack/repos/builtin/packages/py-recommonmark/package.py
@@ -15,7 +15,7 @@ class PyRecommonmark(PythonPackage):
http://recommonmark.readthedocs.org"""
homepage = "https://github.com/readthedocs/recommonmark"
- url = "https://pypi.io/packages/source/r/recommonmark/recommonmark-0.6.0.tar.gz"
+ pypi = "recommonmark/recommonmark-0.6.0.tar.gz"
version('0.6.0', sha256='29cd4faeb6c5268c633634f2d69aef9431e0f4d347f90659fd0aab20e541efeb')
diff --git a/var/spack/repos/builtin/packages/py-redis/package.py b/var/spack/repos/builtin/packages/py-redis/package.py
index 8dd912af55..ae457c6a53 100644
--- a/var/spack/repos/builtin/packages/py-redis/package.py
+++ b/var/spack/repos/builtin/packages/py-redis/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyRedis(PythonPackage):
"""The Python interface to the Redis key-value store."""
- homepage = "https://pypi.org/project/redis/"
- url = "https://pypi.io/packages/source/r/redis/redis-3.3.8.tar.gz"
+ pypi = "redis/redis-3.3.8.tar.gz"
version('3.5.3', sha256='0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2')
version('3.5.0', sha256='7378105cd8ea20c4edc49f028581e830c01ad5f00be851def0f4bc616a83cd89')
diff --git a/var/spack/repos/builtin/packages/py-regex/package.py b/var/spack/repos/builtin/packages/py-regex/package.py
index eed94831bf..61f1fb13e8 100644
--- a/var/spack/repos/builtin/packages/py-regex/package.py
+++ b/var/spack/repos/builtin/packages/py-regex/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyRegex(PythonPackage):
"""Alternative regular expression module, to replace re."""
- homepage = "https://pypi.python.org/pypi/regex/"
- url = "https://pypi.io/packages/source/r/regex/regex-2020.11.13.tar.gz"
+ pypi = "regex/regex-2020.11.13.tar.gz"
version('2020.11.13', sha256='83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562')
version('2019.11.1', sha256='720e34a539a76a1fedcebe4397290604cc2bdf6f81eca44adb9fb2ea071c0c69')
diff --git a/var/spack/repos/builtin/packages/py-reportlab/package.py b/var/spack/repos/builtin/packages/py-reportlab/package.py
index 222890124f..5e64dfd0fb 100644
--- a/var/spack/repos/builtin/packages/py-reportlab/package.py
+++ b/var/spack/repos/builtin/packages/py-reportlab/package.py
@@ -10,8 +10,7 @@ class PyReportlab(PythonPackage):
"""The ReportLab Toolkit. An Open Source Python library for generating
PDFs and graphics."""
- homepage = "https://pypi.python.org/pypi/reportlab"
- url = "https://pypi.io/packages/source/r/reportlab/reportlab-3.4.0.tar.gz"
+ pypi = "reportlab/reportlab-3.4.0.tar.gz"
version('3.4.0', sha256='5beaf35e59dfd5ebd814fdefd76908292e818c982bd7332b5d347dfd2f01c343')
diff --git a/var/spack/repos/builtin/packages/py-repoze-lru/package.py b/var/spack/repos/builtin/packages/py-repoze-lru/package.py
index ceec2fcb87..1de8181419 100644
--- a/var/spack/repos/builtin/packages/py-repoze-lru/package.py
+++ b/var/spack/repos/builtin/packages/py-repoze-lru/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyRepozeLru(PythonPackage):
"""A tiny LRU cache implementation and decorator"""
- homepage = "https://pypi.org/project/repoze.lru/"
- url = "https://pypi.io/packages/source/r/repoze.lru/repoze.lru-0.7.tar.gz"
+ pypi = "repoze.lru/repoze.lru-0.7.tar.gz"
version('0.7', sha256='0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77')
diff --git a/var/spack/repos/builtin/packages/py-reproject/package.py b/var/spack/repos/builtin/packages/py-reproject/package.py
index 3b73633641..3956149183 100644
--- a/var/spack/repos/builtin/packages/py-reproject/package.py
+++ b/var/spack/repos/builtin/packages/py-reproject/package.py
@@ -17,7 +17,7 @@ class PyReproject(PythonPackage):
astropy-healpix package."""
homepage = 'https://reproject.readthedocs.io/'
- url = 'https://pypi.io/packages/source/r/reproject/reproject-0.7.1.tar.gz'
+ pypi = 'reproject/reproject-0.7.1.tar.gz'
version('0.7.1', sha256='95c0fa49e6b4e36455b91fa09ad1b71b230c990ad91d948af67ea3509a1a4ccb')
diff --git a/var/spack/repos/builtin/packages/py-requests-futures/package.py b/var/spack/repos/builtin/packages/py-requests-futures/package.py
index a11d577e1c..da37d648af 100644
--- a/var/spack/repos/builtin/packages/py-requests-futures/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-futures/package.py
@@ -10,7 +10,7 @@ class PyRequestsFutures(PythonPackage):
"""Asynchronous Python HTTP Requests for Humans using Futures"""
homepage = "https://github.com/ross/requests-futures"
- url = "https://pypi.io/packages/source/r/requests-futures/requests-futures-1.0.0.tar.gz"
+ pypi = "requests-futures/requests-futures-1.0.0.tar.gz"
version('1.0.0', sha256='35547502bf1958044716a03a2f47092a89efe8f9789ab0c4c528d9c9c30bc148')
diff --git a/var/spack/repos/builtin/packages/py-requests-mock/package.py b/var/spack/repos/builtin/packages/py-requests-mock/package.py
index 9b3b0e27e0..85e9025a39 100644
--- a/var/spack/repos/builtin/packages/py-requests-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-mock/package.py
@@ -10,7 +10,7 @@ class PyRequestsMock(PythonPackage):
"""Mock out responses from the requests package."""
homepage = "https://requests-mock.readthedocs.io/"
- url = "https://pypi.io/packages/source/r/requests-mock/requests-mock-1.7.0.tar.gz"
+ pypi = "requests-mock/requests-mock-1.7.0.tar.gz"
version('1.7.0', sha256='88d3402dd8b3c69a9e4f9d3a73ad11b15920c6efd36bc27bf1f701cf4a8e4646')
diff --git a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
index b6f0a66667..8786a0657c 100644
--- a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
@@ -11,7 +11,7 @@ class PyRequestsOauthlib(PythonPackage):
"""
homepage = "https://github.com/requests/requests-oauthlib"
- url = "https://pypi.io/packages/source/r/requests-oauthlib/requests-oauthlib-1.2.0.tar.gz"
+ pypi = "requests-oauthlib/requests-oauthlib-1.2.0.tar.gz"
version('1.2.0', sha256='bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57')
version('0.3.3', sha256='37557b4de3eef50d2a4c65dc9382148b8331f04b1c637c414b3355feb0f007e9')
diff --git a/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py b/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py
index e34d1c5a73..25f7ec4e7e 100644
--- a/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py
@@ -11,7 +11,7 @@ class PyRequestsToolbelt(PythonPackage):
python-requests"""
homepage = "https://toolbelt.readthedocs.org/"
- url = "https://pypi.io/packages/source/r/requests-toolbelt/requests-toolbelt-0.9.1.tar.gz"
+ pypi = "requests-toolbelt/requests-toolbelt-0.9.1.tar.gz"
version('0.9.1', sha256='968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0')
version('0.8.0', sha256='f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5')
diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py
index 513e58cc02..3ad8c27f24 100644
--- a/var/spack/repos/builtin/packages/py-requests/package.py
+++ b/var/spack/repos/builtin/packages/py-requests/package.py
@@ -10,7 +10,7 @@ class PyRequests(PythonPackage):
"""Python HTTP for Humans."""
homepage = "http://python-requests.org"
- url = "https://pypi.io/packages/source/r/requests/requests-2.24.0.tar.gz"
+ pypi = "requests/requests-2.24.0.tar.gz"
version('2.24.0', sha256='b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b')
version('2.23.0', sha256='b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6')
diff --git a/var/spack/repos/builtin/packages/py-resampy/package.py b/var/spack/repos/builtin/packages/py-resampy/package.py
index 35249c8acc..cd444c8350 100644
--- a/var/spack/repos/builtin/packages/py-resampy/package.py
+++ b/var/spack/repos/builtin/packages/py-resampy/package.py
@@ -10,7 +10,7 @@ class PyResampy(PythonPackage):
"""Efficient sample rate conversion in python"""
homepage = "https://github.com/bmcfee/resampy"
- url = "https://pypi.io/packages/source/r/resampy/resampy-0.2.2.tar.gz"
+ pypi = "resampy/resampy-0.2.2.tar.gz"
version('0.2.2', sha256='62af020d8a6674d8117f62320ce9470437bb1d738a5d06cd55591b69b463929e')
diff --git a/var/spack/repos/builtin/packages/py-restview/package.py b/var/spack/repos/builtin/packages/py-restview/package.py
index 40d2765aec..9549c4d3e3 100644
--- a/var/spack/repos/builtin/packages/py-restview/package.py
+++ b/var/spack/repos/builtin/packages/py-restview/package.py
@@ -10,7 +10,7 @@ class PyRestview(PythonPackage):
"""A viewer for ReStructuredText documents that renders them on the fly."""
homepage = "https://mg.pov.lt/restview/"
- url = "https://pypi.io/packages/source/r/restview/restview-2.6.1.tar.gz"
+ pypi = "restview/restview-2.6.1.tar.gz"
version('2.6.1', sha256='14d261ee0edf30e0ebc1eb320428ef4898e97422b00337863556966b851fb5af')
diff --git a/var/spack/repos/builtin/packages/py-retrying/package.py b/var/spack/repos/builtin/packages/py-retrying/package.py
index ef5a7d05ca..63d2067c48 100644
--- a/var/spack/repos/builtin/packages/py-retrying/package.py
+++ b/var/spack/repos/builtin/packages/py-retrying/package.py
@@ -12,7 +12,7 @@ class PyRetrying(PythonPackage):
about anything."""
homepage = "https://github.com/rholder/retrying"
- url = "https://pypi.io/packages/source/r/retrying/retrying-1.3.3.tar.gz"
+ pypi = "retrying/retrying-1.3.3.tar.gz"
version('1.3.3', sha256='08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b')
diff --git a/var/spack/repos/builtin/packages/py-rfc3986/package.py b/var/spack/repos/builtin/packages/py-rfc3986/package.py
index 1650562db2..3e595dc4a8 100644
--- a/var/spack/repos/builtin/packages/py-rfc3986/package.py
+++ b/var/spack/repos/builtin/packages/py-rfc3986/package.py
@@ -11,7 +11,7 @@ class PyRfc3986(PythonPackage):
validation and authority parsing."""
homepage = "http://rfc3986.readthedocs.io/"
- url = "https://pypi.io/packages/source/r/rfc3986/rfc3986-1.4.0.tar.gz"
+ pypi = "rfc3986/rfc3986-1.4.0.tar.gz"
version('1.4.0', sha256='112398da31a3344dc25dbf477d8df6cb34f9278a94fee2625d89e4514be8bb9d')
diff --git a/var/spack/repos/builtin/packages/py-rise/package.py b/var/spack/repos/builtin/packages/py-rise/package.py
index e9eba520ef..e8e0924d1d 100644
--- a/var/spack/repos/builtin/packages/py-rise/package.py
+++ b/var/spack/repos/builtin/packages/py-rise/package.py
@@ -10,7 +10,7 @@ class PyRise(PythonPackage):
"""Reveal.js - Jupyter/IPython Slideshow Extension"""
homepage = "http://rise.readthedocs.io/"
- url = "https://pypi.io/packages/source/r/rise/rise-5.6.1.tar.gz"
+ pypi = "rise/rise-5.6.1.tar.gz"
version('5.6.1', sha256='1343f068d01adc4dd0226d9b278ce93fc92f365d827431a57e8d5679eb39f4d6')
diff --git a/var/spack/repos/builtin/packages/py-rope/package.py b/var/spack/repos/builtin/packages/py-rope/package.py
index 7ea1eea1fc..90d1fc3e1a 100644
--- a/var/spack/repos/builtin/packages/py-rope/package.py
+++ b/var/spack/repos/builtin/packages/py-rope/package.py
@@ -10,7 +10,7 @@ class PyRope(PythonPackage):
"""a python refactoring library."""
homepage = "https://github.com/python-rope/rope"
- url = "https://pypi.io/packages/source/r/rope/rope-0.10.5.tar.gz"
+ pypi = "rope/rope-0.10.5.tar.gz"
version('0.11.0', sha256='a108c445e1cd897fe19272ab7877d172e7faf3d4148c80e7d20faba42ea8f7b2')
version('0.10.7', sha256='a09edfd2034fd50099a67822f9bd851fbd0f4e98d3b87519f6267b60e50d80d1')
diff --git a/var/spack/repos/builtin/packages/py-rosdep/package.py b/var/spack/repos/builtin/packages/py-rosdep/package.py
index 19585d7122..9b3cb3dd14 100644
--- a/var/spack/repos/builtin/packages/py-rosdep/package.py
+++ b/var/spack/repos/builtin/packages/py-rosdep/package.py
@@ -8,7 +8,7 @@ class PyRosdep(PythonPackage):
"""rosdep package manager abstraction tool for ROS."""
homepage = "https://wiki.ros.org/rosdep"
- url = "https://pypi.io/packages/source/r/rosdep/rosdep-0.20.0.tar.gz"
+ pypi = "rosdep/rosdep-0.20.0.tar.gz"
version('0.20.0', sha256='1de76e41ef17c7289a11d9de594f6c08e8422f26ad09bc855b4f1f4da5e9bfe7')
diff --git a/var/spack/repos/builtin/packages/py-rosdistro/package.py b/var/spack/repos/builtin/packages/py-rosdistro/package.py
index f17c87c033..945013ca49 100644
--- a/var/spack/repos/builtin/packages/py-rosdistro/package.py
+++ b/var/spack/repos/builtin/packages/py-rosdistro/package.py
@@ -8,7 +8,7 @@ class PyRosdistro(PythonPackage):
"""A tool to work with rosdistro files."""
homepage = "https://wiki.ros.org/rosdistro"
- url = "https://pypi.io/packages/source/r/rosdistro/rosdistro-0.8.3.tar.gz"
+ pypi = "rosdistro/rosdistro-0.8.3.tar.gz"
version('0.8.3', sha256='e14893e0408a2e1fb3ecaef0a9fc978a3675519b828c1fff29ba6a78299b37bd')
diff --git a/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py b/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py
index 544d3e33c8..5ef70f6e9f 100644
--- a/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py
+++ b/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py
@@ -8,7 +8,7 @@ class PyRosinstallGenerator(PythonPackage):
"""A tool for generating rosinstall files."""
homepage = "https://wiki.ros.org/rosinstall_generator"
- url = "https://pypi.io/packages/source/r/rosinstall-generator/rosinstall_generator-0.1.22.tar.gz"
+ pypi = "rosinstall-generator/rosinstall_generator-0.1.22.tar.gz"
version('0.1.22', sha256='22d22599cd3f08a1f77fb2b1d9464cc8062ede50752a75564d459fcf5447b8c5')
diff --git a/var/spack/repos/builtin/packages/py-rosinstall/package.py b/var/spack/repos/builtin/packages/py-rosinstall/package.py
index 07bdec1222..bf83b168d8 100644
--- a/var/spack/repos/builtin/packages/py-rosinstall/package.py
+++ b/var/spack/repos/builtin/packages/py-rosinstall/package.py
@@ -8,7 +8,7 @@ class PyRosinstall(PythonPackage):
"""The installer for ROS."""
homepage = "https://wiki.ros.org/rosinstall"
- url = "https://pypi.io/packages/source/r/rosinstall/rosinstall-0.7.8.tar.gz"
+ pypi = "rosinstall/rosinstall-0.7.8.tar.gz"
version('0.7.8', sha256='2ba808bf8bac2cc3f13af9745184b9714c1426e11d09eb96468611b2ad47ed40')
diff --git a/var/spack/repos/builtin/packages/py-rospkg/package.py b/var/spack/repos/builtin/packages/py-rospkg/package.py
index bc03fddf40..81020005b6 100644
--- a/var/spack/repos/builtin/packages/py-rospkg/package.py
+++ b/var/spack/repos/builtin/packages/py-rospkg/package.py
@@ -8,7 +8,7 @@ class PyRospkg(PythonPackage):
"""Library for retrieving information about ROS packages and stacks."""
homepage = "https://wiki.ros.org/rospkg"
- url = "https://pypi.io/packages/source/r/rospkg/rospkg-1.2.9.tar.gz"
+ pypi = "rospkg/rospkg-1.2.9.tar.gz"
version('1.2.9', sha256='d57aea0e7fdbf42e8189ef5e21b9fb4f8a70ecb6cd1a56a278eab301f6a2b074')
diff --git a/var/spack/repos/builtin/packages/py-rpy2/package.py b/var/spack/repos/builtin/packages/py-rpy2/package.py
index ef9b847b00..390b265e87 100644
--- a/var/spack/repos/builtin/packages/py-rpy2/package.py
+++ b/var/spack/repos/builtin/packages/py-rpy2/package.py
@@ -13,8 +13,7 @@ class PyRpy2(PythonPackage):
structures and functions.
"""
- homepage = "https://pypi.python.org/pypi/rpy2"
- url = "https://pypi.io/packages/source/r/rpy2/rpy2-2.5.4.tar.gz"
+ pypi = "rpy2/rpy2-2.5.4.tar.gz"
version('3.0.4', sha256='2af5158a5d56af7f7bf5e54d8d7e87b6f115ff40f056d82f93cad0cbf6acc0cb')
version('3.0.0', sha256='34efc2935d9015527837d6b1de29641863d184b19d39ad415d5384be8a015bce')
diff --git a/var/spack/repos/builtin/packages/py-rsa/package.py b/var/spack/repos/builtin/packages/py-rsa/package.py
index 4f7604e828..800711d288 100644
--- a/var/spack/repos/builtin/packages/py-rsa/package.py
+++ b/var/spack/repos/builtin/packages/py-rsa/package.py
@@ -10,7 +10,7 @@ class PyRsa(PythonPackage):
"""Pure-Python RSA implementation"""
homepage = "https://stuvel.eu/rsa"
- url = "https://pypi.io/packages/source/r/rsa/rsa-3.4.2.tar.gz"
+ pypi = "rsa/rsa-3.4.2.tar.gz"
version('4.0', sha256='1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487')
version('3.4.2', sha256='25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5')
diff --git a/var/spack/repos/builtin/packages/py-rseqc/package.py b/var/spack/repos/builtin/packages/py-rseqc/package.py
index fa9fc581b4..a9850c312a 100644
--- a/var/spack/repos/builtin/packages/py-rseqc/package.py
+++ b/var/spack/repos/builtin/packages/py-rseqc/package.py
@@ -12,7 +12,7 @@ class PyRseqc(PythonPackage):
data."""
homepage = "http://rseqc.sourceforge.net"
- url = "https://pypi.io/packages/source/R/RSeQC/RSeQC-2.6.4.tar.gz"
+ pypi = "RSeQC/RSeQC-2.6.4.tar.gz"
version('3.0.1', sha256='d5f4cb2c24a7348929f5c4947d84c5869e8cd2cba5ba5248d991ebb37c4c6b3d')
version('2.6.4', sha256='e11df661bda1c24fc950f0bce06f586a68ab5f4a2c356f43e4a0dfdc1e184315')
diff --git a/var/spack/repos/builtin/packages/py-rtree/package.py b/var/spack/repos/builtin/packages/py-rtree/package.py
index 1c62efb500..89a38f3a6a 100644
--- a/var/spack/repos/builtin/packages/py-rtree/package.py
+++ b/var/spack/repos/builtin/packages/py-rtree/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyRtree(PythonPackage):
"""Python interface to the RTREE.4 Library."""
homepage = "http://toblerity.org/rtree/"
- url = "https://pypi.io/packages/source/R/Rtree/Rtree-0.8.3.tar.gz"
+ pypi = "Rtree/Rtree-0.8.3.tar.gz"
version('0.8.3', sha256='6cb9cf3000963ea6a3db777a597baee2bc55c4fc891e4f1967f262cc96148649')
diff --git a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py
index 88cdd59914..9c8d3c3b66 100644
--- a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py
@@ -12,7 +12,7 @@ class PyRuamelOrdereddict(PythonPackage):
implements a subset of ordereddict functionality."""
homepage = "https://bitbucket.org/ruamel/ordereddict"
- url = "https://pypi.io/packages/source/r/ruamel.ordereddict/ruamel.ordereddict-0.4.14.tar.gz"
+ pypi = "ruamel.ordereddict/ruamel.ordereddict-0.4.14.tar.gz"
version('0.4.14', sha256='281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a')
diff --git a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py
index 9724bff0af..50593df76a 100644
--- a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py
+++ b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py
@@ -9,7 +9,7 @@ class PyRuamelYamlClib(PythonPackage):
libyaml."""
homepage = "https://bitbucket.org/ruamel/yaml.clib"
- url = "https://pypi.io/packages/source/r/ruamel.yaml.clib/ruamel.yaml.clib-0.2.0.tar.gz"
+ pypi = "ruamel.yaml.clib/ruamel.yaml.clib-0.2.0.tar.gz"
version('0.2.0', sha256='b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c')
diff --git a/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py b/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py
index 68e9348936..388d498465 100644
--- a/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py
+++ b/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py
@@ -13,7 +13,7 @@ class PyRuamelYaml(PythonPackage):
"""
homepage = "https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree"
- url = "https://pypi.io/packages/source/r/ruamel.yaml/ruamel.yaml-0.16.10.tar.gz"
+ pypi = "ruamel.yaml/ruamel.yaml-0.16.10.tar.gz"
version('0.16.10', sha256='099c644a778bf72ffa00524f78dd0b6476bca94a1da344130f4bf3381ce5b954')
version('0.16.5', sha256='412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408')
diff --git a/var/spack/repos/builtin/packages/py-s3transfer/package.py b/var/spack/repos/builtin/packages/py-s3transfer/package.py
index 59ec02bfcf..487cf39c5d 100644
--- a/var/spack/repos/builtin/packages/py-s3transfer/package.py
+++ b/var/spack/repos/builtin/packages/py-s3transfer/package.py
@@ -10,7 +10,7 @@ class PyS3transfer(PythonPackage):
"""S3transfer is a Python library for managing Amazon S3 transfers."""
homepage = "https://github.com/boto/s3transfer"
- url = "https://pypi.io/packages/source/s/s3transfer/s3transfer-0.2.1.tar.gz"
+ pypi = "s3transfer/s3transfer-0.2.1.tar.gz"
version('0.2.1', sha256='6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d')
diff --git a/var/spack/repos/builtin/packages/py-sacremoses/package.py b/var/spack/repos/builtin/packages/py-sacremoses/package.py
index 35166e245c..7287e56e17 100644
--- a/var/spack/repos/builtin/packages/py-sacremoses/package.py
+++ b/var/spack/repos/builtin/packages/py-sacremoses/package.py
@@ -8,7 +8,7 @@ class PySacremoses(PythonPackage):
"""LGPL MosesTokenizer in Python."""
homepage = "https://github.com/alvations/sacremoses"
- url = "https://pypi.io/packages/source/s/sacremoses/sacremoses-0.0.39.tar.gz"
+ pypi = "sacremoses/sacremoses-0.0.39.tar.gz"
version('0.0.39', sha256='53fad38b93dd5bf1657a68d52bcca5d681d4246477a764b7791a2abd5c7d1f4c')
diff --git a/var/spack/repos/builtin/packages/py-saga-python/package.py b/var/spack/repos/builtin/packages/py-saga-python/package.py
index 96fb39c3f5..961880ac1b 100644
--- a/var/spack/repos/builtin/packages/py-saga-python/package.py
+++ b/var/spack/repos/builtin/packages/py-saga-python/package.py
@@ -10,7 +10,7 @@ class PySagaPython(PythonPackage):
"""A light-weight access layer for distributed computing infrastructure"""
homepage = "http://radical.rutgers.edu"
- url = "https://pypi.io/packages/source/s/saga-python/saga-python-0.41.3.tar.gz"
+ pypi = "saga-python/saga-python-0.41.3.tar.gz"
version('0.41.3', sha256='b30961e634f32f6008e292aa1fe40560f257d5294b0cda95baac1cf5391feb5d')
diff --git a/var/spack/repos/builtin/packages/py-sanic/package.py b/var/spack/repos/builtin/packages/py-sanic/package.py
index e97622a750..2a58588b12 100644
--- a/var/spack/repos/builtin/packages/py-sanic/package.py
+++ b/var/spack/repos/builtin/packages/py-sanic/package.py
@@ -11,7 +11,7 @@ class PySanic(PythonPackage):
It is based on the work done by the amazing folks at magicstack"""
homepage = "https://github.com/huge-success/sanic"
- url = "https://pypi.io/packages/source/s/sanic/sanic-20.6.3.tar.gz"
+ pypi = "sanic/sanic-20.6.3.tar.gz"
version('20.6.3', sha256='30e83d9f677b609d6b8ccab7c9551ca7e9a5f19ac0579f5aa10199ab6d4138ed')
diff --git a/var/spack/repos/builtin/packages/py-scandir/package.py b/var/spack/repos/builtin/packages/py-scandir/package.py
index 57f7e2cfa6..e051183be9 100644
--- a/var/spack/repos/builtin/packages/py-scandir/package.py
+++ b/var/spack/repos/builtin/packages/py-scandir/package.py
@@ -10,7 +10,7 @@ class PyScandir(PythonPackage):
"""scandir, a better directory iterator and faster os.walk()."""
homepage = "https://github.com/benhoyt/scandir"
- url = "https://pypi.io/packages/source/s/scandir/scandir-1.9.0.tar.gz"
+ pypi = "scandir/scandir-1.9.0.tar.gz"
version('1.10.0', sha256='4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae')
version('1.9.0', sha256='44975e209c4827fc18a3486f257154d34ec6eaec0f90fef0cca1caa482db7064')
diff --git a/var/spack/repos/builtin/packages/py-scikit-image/package.py b/var/spack/repos/builtin/packages/py-scikit-image/package.py
index 90f1470e96..a445020d7e 100644
--- a/var/spack/repos/builtin/packages/py-scikit-image/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-image/package.py
@@ -11,7 +11,7 @@ class PyScikitImage(PythonPackage):
filtering, warping, color manipulation, object detection, etc."""
homepage = "http://scikit-image.org/"
- url = "https://pypi.io/packages/source/s/scikit-image/scikit-image-0.17.2.tar.gz"
+ pypi = "scikit-image/scikit-image-0.17.2.tar.gz"
version('0.17.2', sha256='bd954c0588f0f7e81d9763dc95e06950e68247d540476e06cb77bcbcd8c2d8b3')
version('0.14.2', sha256='1afd0b84eefd77afd1071c5c1c402553d67be2d7db8950b32d6f773f25850c1f')
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
index 71e029c2c5..0208d83abe 100644
--- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
@@ -7,8 +7,7 @@
class PyScikitLearn(PythonPackage):
"""A set of python modules for machine learning and data mining."""
- homepage = "https://pypi.python.org/pypi/scikit-learn"
- url = "https://pypi.io/packages/source/s/scikit-learn/scikit-learn-0.24.0.tar.gz"
+ pypi = "scikit-learn/scikit-learn-0.24.0.tar.gz"
git = "https://github.com/scikit-learn/scikit-learn.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
index 3585143e3d..516d861be3 100644
--- a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
@@ -15,7 +15,7 @@ class PyScikitOptimize(PythonPackage):
The library is built on top of NumPy, SciPy and Scikit-Learn."""
homepage = "https://scikit-optimize.github.io"
- url = "https://pypi.io/packages/source/s/scikit-optimize/scikit-optimize-0.5.2.tar.gz"
+ pypi = "scikit-optimize/scikit-optimize-0.5.2.tar.gz"
version('0.5.2', sha256='1d7657a4b8ef9aa6d81e49b369c677c584e83269f11710557741d3b3f8fa0a75')
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index 900b9a8f0d..3176536157 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -12,7 +12,7 @@ class PyScipy(PythonPackage):
as routines for numerical integration and optimization."""
homepage = "https://www.scipy.org/"
- pypi = "scipy/scipy-1.5.4.tar.gz"
+ pypi = "scipy/scipy-1.5.4.tar.gz"
git = "https://github.com/scipy/scipy.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-scoop/package.py b/var/spack/repos/builtin/packages/py-scoop/package.py
index e1e25abd01..a8868ecd25 100644
--- a/var/spack/repos/builtin/packages/py-scoop/package.py
+++ b/var/spack/repos/builtin/packages/py-scoop/package.py
@@ -13,7 +13,7 @@ class PyScoop(PythonPackage):
environments, from heterogeneous grids to supercomputers."""
homepage = "https://github.com/soravux/scoop"
- url = "https://pypi.io/packages/source/s/scoop/scoop-0.7.1.1.tar.gz"
+ pypi = "scoop/scoop-0.7.1.1.tar.gz"
version('0.7.1.1', sha256='d8b6444c7bac901171e3327a97e241dde63f060354e162a65551fd8083ca62b4')
diff --git a/var/spack/repos/builtin/packages/py-scp/package.py b/var/spack/repos/builtin/packages/py-scp/package.py
index 85bb112cd4..cdcf05d688 100644
--- a/var/spack/repos/builtin/packages/py-scp/package.py
+++ b/var/spack/repos/builtin/packages/py-scp/package.py
@@ -10,7 +10,7 @@ class PyScp(PythonPackage):
"""scp module for paramiko"""
homepage = "https://github.com/jbardin/scp.py"
- url = "https://pypi.io/packages/source/s/scp/scp-0.13.2.tar.gz"
+ pypi = "scp/scp-0.13.2.tar.gz"
version('0.13.2', sha256='ef9d6e67c0331485d3db146bf9ee9baff8a48f3eb0e6c08276a8584b13bf34b3')
diff --git a/var/spack/repos/builtin/packages/py-scs/package.py b/var/spack/repos/builtin/packages/py-scs/package.py
index 7715349fb3..58c8df0e6a 100644
--- a/var/spack/repos/builtin/packages/py-scs/package.py
+++ b/var/spack/repos/builtin/packages/py-scs/package.py
@@ -11,7 +11,7 @@ class PyScs(PythonPackage):
"""SCS: splitting conic solver"""
homepage = "https://github.com/cvxgrp/scs"
- url = "https://www.pypi.io/packages/source/s/scs/scs-2.1.1-2.tar.gz"
+ pypi = "scs/scs-2.1.1-2.tar.gz"
version('2.1.1-2', sha256='f816cfe3d4b4cff3ac2b8b96588c5960ddd2a3dc946bda6b09db04e7bc6577f2')
diff --git a/var/spack/repos/builtin/packages/py-seaborn/package.py b/var/spack/repos/builtin/packages/py-seaborn/package.py
index feaf12abb2..cc6101c3f3 100644
--- a/var/spack/repos/builtin/packages/py-seaborn/package.py
+++ b/var/spack/repos/builtin/packages/py-seaborn/package.py
@@ -15,7 +15,7 @@ class PySeaborn(PythonPackage):
data structures and statistical routines from scipy and statsmodels."""
homepage = "http://seaborn.pydata.org/"
- url = "https://pypi.io/packages/source/s/seaborn/seaborn-0.7.1.tar.gz"
+ pypi = "seaborn/seaborn-0.7.1.tar.gz"
version('0.9.0', sha256='76c83f794ca320fb6b23a7c6192d5e185a5fcf4758966a0c0a54baee46d41e2f')
version('0.7.1', sha256='fa274344b1ee72f723bab751c40a5c671801d47a29ee9b5e69fcf63a18ce5c5d')
diff --git a/var/spack/repos/builtin/packages/py-secretstorage/package.py b/var/spack/repos/builtin/packages/py-secretstorage/package.py
index 36be45cd0e..0512b57bb5 100644
--- a/var/spack/repos/builtin/packages/py-secretstorage/package.py
+++ b/var/spack/repos/builtin/packages/py-secretstorage/package.py
@@ -8,7 +8,7 @@ class PySecretstorage(PythonPackage):
"""Python bindings to FreeDesktop.org Secret Service API."""
homepage = "https://github.com/mitya57/secretstorage"
- url = "https://pypi.io/packages/source/S/SecretStorage/SecretStorage-3.1.2.tar.gz"
+ pypi = "SecretStorage/SecretStorage-3.1.2.tar.gz"
version('3.1.2', sha256='15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6')
diff --git a/var/spack/repos/builtin/packages/py-selenium/package.py b/var/spack/repos/builtin/packages/py-selenium/package.py
index 33082ec78f..6c48b37d82 100644
--- a/var/spack/repos/builtin/packages/py-selenium/package.py
+++ b/var/spack/repos/builtin/packages/py-selenium/package.py
@@ -13,7 +13,7 @@ class PySelenium(PythonPackage):
Python."""
homepage = "https://github.com/SeleniumHQ/selenium/"
- url = "https://pypi.io/packages/source/s/selenium/selenium-3.141.0.tar.gz"
+ pypi = "selenium/selenium-3.141.0.tar.gz"
version('3.141.0', sha256='deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d')
diff --git a/var/spack/repos/builtin/packages/py-semantic-version/package.py b/var/spack/repos/builtin/packages/py-semantic-version/package.py
index d05d902e10..f918c50abe 100644
--- a/var/spack/repos/builtin/packages/py-semantic-version/package.py
+++ b/var/spack/repos/builtin/packages/py-semantic-version/package.py
@@ -11,7 +11,7 @@ class PySemanticVersion(PythonPackage):
Python. It follows strictly the 2.0.0 version of the SemVer scheme."""
homepage = "https://github.com/rbarrois/python-semanticversion"
- url = "https://pypi.io/packages/source/s/semantic_version/semantic_version-2.8.2.tar.gz"
+ pypi = "semantic_version/semantic_version-2.8.2.tar.gz"
version('2.8.2', sha256='71c716e99086c44d068262b86e4775aa6db7fabee0743e4e33b00fbf6f672585')
version('2.6.0', sha256='2a4328680073e9b243667b201119772aefc5fc63ae32398d6afafff07c4f54c0')
diff --git a/var/spack/repos/builtin/packages/py-semver/package.py b/var/spack/repos/builtin/packages/py-semver/package.py
index a73401d254..92290936bf 100644
--- a/var/spack/repos/builtin/packages/py-semver/package.py
+++ b/var/spack/repos/builtin/packages/py-semver/package.py
@@ -11,7 +11,7 @@ class PySemver(PythonPackage):
Simplifies comparing versions."""
homepage = "https://semver.org/"
- url = "https://pypi.io/packages/source/s/semver/semver-2.8.1.tar.gz"
+ pypi = "semver/semver-2.8.1.tar.gz"
version('2.8.1', sha256='5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8')
diff --git a/var/spack/repos/builtin/packages/py-sentry-sdk/package.py b/var/spack/repos/builtin/packages/py-sentry-sdk/package.py
index 6214b0c7d8..d8716f2137 100644
--- a/var/spack/repos/builtin/packages/py-sentry-sdk/package.py
+++ b/var/spack/repos/builtin/packages/py-sentry-sdk/package.py
@@ -10,7 +10,7 @@ class PySentrySdk(PythonPackage):
"""The new Python SDK for Sentry.io"""
homepage = "https://github.com/getsentry/sentry-python"
- url = "https://pypi.io/packages/source/s/sentry-sdk/sentry-sdk-0.17.6.tar.gz"
+ pypi = "sentry-sdk/sentry-sdk-0.17.6.tar.gz"
version('0.17.6', sha256='1a086486ff9da15791f294f6e9915eb3747d161ef64dee2d038a4d0b4a369b24')
diff --git a/var/spack/repos/builtin/packages/py-setproctitle/package.py b/var/spack/repos/builtin/packages/py-setproctitle/package.py
index 972e595cad..4e06f9db9f 100644
--- a/var/spack/repos/builtin/packages/py-setproctitle/package.py
+++ b/var/spack/repos/builtin/packages/py-setproctitle/package.py
@@ -11,7 +11,7 @@ class PySetproctitle(PythonPackage):
displayed by system tools such as ps and top)."""
homepage = "https://github.com/dvarrazzo/py-setproctitle"
- url = "https://pypi.io/packages/source/s/setproctitle/setproctitle-1.1.10.tar.gz"
+ pypi = "setproctitle/setproctitle-1.1.10.tar.gz"
version('1.1.10', sha256='6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398')
diff --git a/var/spack/repos/builtin/packages/py-setuptools-git/package.py b/var/spack/repos/builtin/packages/py-setuptools-git/package.py
index fa8a51908e..aa4f519fa0 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-git/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-git/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySetuptoolsGit(PythonPackage):
"""Setuptools revision control system plugin for Git"""
- homepage = "https://pypi.python.org/pypi/setuptools-git"
- url = "https://pypi.io/packages/source/s/setuptools-git/setuptools-git-1.2.tar.gz"
+ pypi = "setuptools-git/setuptools-git-1.2.tar.gz"
version('1.2', sha256='ff64136da01aabba76ae88b050e7197918d8b2139ccbf6144e14d472b9c40445')
diff --git a/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py b/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py
index 2fb6a9e267..78a8baafcd 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py
@@ -11,7 +11,7 @@ class PySetuptoolsScmGitArchive(PythonPackage):
(for example the ones GitHub automatically generates)."""
homepage = "https://github.com/Changaco/setuptools_scm_git_archive/"
- url = "https://pypi.io/packages/source/s/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz"
+ pypi = "setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz"
maintainers = ['marcmengel']
diff --git a/var/spack/repos/builtin/packages/py-setuptools-scm/package.py b/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
index 21ec2203ce..a31bc14000 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
@@ -10,7 +10,7 @@ class PySetuptoolsScm(PythonPackage):
"""The blessed package to manage your versions by scm tags."""
homepage = "https://github.com/pypa/setuptools_scm"
- url = "https://pypi.io/packages/source/s/setuptools_scm/setuptools_scm-4.1.2.tar.gz"
+ pypi = "setuptools_scm/setuptools_scm-4.1.2.tar.gz"
version('4.1.2', sha256='a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8')
version('3.3.3', sha256='bd25e1fb5e4d603dcf490f1fde40fb4c595b357795674c3e5cb7f6217ab39ea5')
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 29e705c5ac..ac4c914cd1 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -11,7 +11,7 @@ class PySetuptools(PythonPackage):
upgrading, installing, and uninstalling Python packages."""
homepage = "https://github.com/pypa/setuptools"
- url = "https://pypi.io/packages/source/s/setuptools/setuptools-49.2.0.zip"
+ pypi = "setuptools/setuptools-49.2.0.zip"
version('50.3.2', sha256='ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c')
version('50.1.0', sha256='4a7708dafd2d360ce5e2ac7577374da9fb65fc867bc4cdaf461f9f834dfa6ac3')
diff --git a/var/spack/repos/builtin/packages/py-sgp4/package.py b/var/spack/repos/builtin/packages/py-sgp4/package.py
index 79af5e7112..38f8ea15f0 100644
--- a/var/spack/repos/builtin/packages/py-sgp4/package.py
+++ b/var/spack/repos/builtin/packages/py-sgp4/package.py
@@ -11,7 +11,7 @@ class PySgp4(PythonPackage):
"""
homepage = "https://github.com/brandon-rhodes/python-sgp4"
- url = "https://pypi.io/packages/source/s/sgp4/sgp4-1.4.tar.gz"
+ pypi = "sgp4/sgp4-1.4.tar.gz"
version('1.4', sha256='1fb3cdbc11981a9ff34a032169f83c1f4a2877d1b6c295aed044e1d890b73892')
diff --git a/var/spack/repos/builtin/packages/py-sh/package.py b/var/spack/repos/builtin/packages/py-sh/package.py
index 7f8b639fbf..9f2dbb74e0 100644
--- a/var/spack/repos/builtin/packages/py-sh/package.py
+++ b/var/spack/repos/builtin/packages/py-sh/package.py
@@ -10,7 +10,7 @@ class PySh(PythonPackage):
"""Python subprocess interface"""
homepage = "https://github.com/amoffat/sh"
- url = "https://pypi.io/packages/source/s/sh/sh-1.12.9.tar.gz"
+ pypi = "sh/sh-1.12.9.tar.gz"
version('1.12.9', sha256='579aa19bae7fe86b607df1afaf4e8537c453d2ce3d84e1d3957e099359a51677')
version('1.11', sha256='590fb9b84abf8b1f560df92d73d87965f1e85c6b8330f8a5f6b336b36f0559a4')
diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py
index b9130e78d5..0764248a5c 100644
--- a/var/spack/repos/builtin/packages/py-shapely/package.py
+++ b/var/spack/repos/builtin/packages/py-shapely/package.py
@@ -12,7 +12,7 @@ class PyShapely(PythonPackage):
"""
homepage = "https://github.com/Toblerity/Shapely"
- url = "https://pypi.io/packages/source/S/Shapely/Shapely-1.7.1.tar.gz"
+ pypi = "Shapely/Shapely-1.7.1.tar.gz"
git = "https://github.com/Toblerity/Shapely.git"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-shiboken/package.py b/var/spack/repos/builtin/packages/py-shiboken/package.py
index e7403bbfd6..ecc3601692 100644
--- a/var/spack/repos/builtin/packages/py-shiboken/package.py
+++ b/var/spack/repos/builtin/packages/py-shiboken/package.py
@@ -10,7 +10,7 @@ import os
class PyShiboken(PythonPackage):
"""Shiboken generates bindings for C++ libraries using CPython."""
homepage = "https://shiboken.readthedocs.org/"
- url = "https://pypi.io/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz"
+ pypi = "Shiboken/Shiboken-1.2.2.tar.gz"
version('1.2.2', sha256='0baee03c6244ab56e42e4200d0cb5e234682b11cc296ed0a192fe457d054972f')
diff --git a/var/spack/repos/builtin/packages/py-simplegeneric/package.py b/var/spack/repos/builtin/packages/py-simplegeneric/package.py
index eb92c5d8de..3f2668aabd 100644
--- a/var/spack/repos/builtin/packages/py-simplegeneric/package.py
+++ b/var/spack/repos/builtin/packages/py-simplegeneric/package.py
@@ -10,8 +10,7 @@ class PySimplegeneric(PythonPackage):
"""Simple generic functions (similar to Python's own len(),
pickle.dump(), etc.)"""
- homepage = "https://pypi.python.org/pypi/simplegeneric"
- url = "https://pypi.io/packages/source/s/simplegeneric/simplegeneric-0.8.zip"
+ pypi = "simplegeneric/simplegeneric-0.8.zip"
version('0.8.1', sha256='dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173')
version('0.8', sha256='8c0c4963da2695ba7c0f953f2cdac31d2c41d619fe9419e9d75432f8a231f966')
diff --git a/var/spack/repos/builtin/packages/py-simplejson/package.py b/var/spack/repos/builtin/packages/py-simplejson/package.py
index 7206102d2e..50772faa2a 100644
--- a/var/spack/repos/builtin/packages/py-simplejson/package.py
+++ b/var/spack/repos/builtin/packages/py-simplejson/package.py
@@ -11,7 +11,7 @@ class PySimplejson(PythonPackage):
Python"""
homepage = "https://github.com/simplejson/simplejson"
- url = "https://pypi.io/packages/source/s/simplejson/simplejson-3.10.0.tar.gz"
+ pypi = "simplejson/simplejson-3.10.0.tar.gz"
version('3.16.0', sha256='b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5')
version('3.10.0', sha256='953be622e88323c6f43fad61ffd05bebe73b9fd9863a46d68b052d2aa7d71ce2')
diff --git a/var/spack/repos/builtin/packages/py-simplekml/package.py b/var/spack/repos/builtin/packages/py-simplekml/package.py
index 23b309f670..1629bdc955 100644
--- a/var/spack/repos/builtin/packages/py-simplekml/package.py
+++ b/var/spack/repos/builtin/packages/py-simplekml/package.py
@@ -12,7 +12,7 @@ class PySimplekml(PythonPackage):
"""
homepage = "https://readthedocs.org/projects/simplekml/"
- url = "https://pypi.io/packages/source/s/simplekml/simplekml-1.3.1.tar.gz"
+ pypi = "simplekml/simplekml-1.3.1.tar.gz"
version('1.3.1', sha256='30c121368ce1d73405721730bf766721e580cae6fbb7424884c734c89ec62ad7')
diff --git a/var/spack/repos/builtin/packages/py-singledispatch/package.py b/var/spack/repos/builtin/packages/py-singledispatch/package.py
index 21c91a6465..e9f5a3ea48 100644
--- a/var/spack/repos/builtin/packages/py-singledispatch/package.py
+++ b/var/spack/repos/builtin/packages/py-singledispatch/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySingledispatch(PythonPackage):
"""This library brings functools.singledispatch to Python 2.6-3.3."""
- homepage = "https://pypi.python.org/pypi/singledispatch"
- url = "https://pypi.io/packages/source/s/singledispatch/singledispatch-3.4.0.3.tar.gz"
+ pypi = "singledispatch/singledispatch-3.4.0.3.tar.gz"
version('3.4.0.3', sha256='5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c')
diff --git a/var/spack/repos/builtin/packages/py-six/package.py b/var/spack/repos/builtin/packages/py-six/package.py
index 291d38b741..9b88a3876d 100644
--- a/var/spack/repos/builtin/packages/py-six/package.py
+++ b/var/spack/repos/builtin/packages/py-six/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySix(PythonPackage):
"""Python 2 and 3 compatibility utilities."""
- homepage = "https://pypi.python.org/pypi/six"
- url = "https://pypi.io/packages/source/s/six/six-1.11.0.tar.gz"
+ pypi = "six/six-1.11.0.tar.gz"
version('1.14.0', sha256='236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a')
version('1.12.0', sha256='d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73')
diff --git a/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py b/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py
index a04d974aa8..ac59d1e14a 100644
--- a/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py
+++ b/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py
@@ -10,7 +10,7 @@ class PySlurmPipeline(PythonPackage):
"""A Python class for scheduling SLURM jobs"""
homepage = "https://github.com/acorg/slurm-pipeline"
- url = "https://pypi.io/packages/source/s/slurm-pipeline/slurm-pipeline-1.1.13.tar.gz"
+ pypi = "slurm-pipeline/slurm-pipeline-1.1.13.tar.gz"
version('2.0.9', sha256='2360e43965ecfa3701f287b7d597c99b4accd4dc8faf9d55cfdcc2228c4054cc')
version('1.1.13', sha256='6d6ca2e96a16780fd9520957166afd06272c57abd962e76bfe74c4d394b38da1')
diff --git a/var/spack/repos/builtin/packages/py-smart-open/package.py b/var/spack/repos/builtin/packages/py-smart-open/package.py
index f58683af38..83003437e2 100644
--- a/var/spack/repos/builtin/packages/py-smart-open/package.py
+++ b/var/spack/repos/builtin/packages/py-smart-open/package.py
@@ -13,7 +13,7 @@ class PySmartOpen(PythonPackage):
different formats."""
homepage = "https://github.com/piskvorky/smart_open"
- url = "https://pypi.io/packages/source/s/smart_open/smart_open-1.10.0.tar.gz"
+ pypi = "smart_open/smart_open-1.10.0.tar.gz"
version('1.10.0', sha256='bea5624c0c2e49987c227bdf3596573157eccd96fd1d53198856c8d53948fa2c')
version('1.8.4', sha256='788e07f035defcbb62e3c1e313329a70b0976f4f65406ee767db73ad5d2d04f9')
diff --git a/var/spack/repos/builtin/packages/py-smmap/package.py b/var/spack/repos/builtin/packages/py-smmap/package.py
index f8baa0de0e..770be8ec52 100644
--- a/var/spack/repos/builtin/packages/py-smmap/package.py
+++ b/var/spack/repos/builtin/packages/py-smmap/package.py
@@ -12,7 +12,7 @@ class PySmmap(PythonPackage):
"""
homepage = "https://github.com/gitpython-developers/smmap"
- url = "https://pypi.io/packages/source/s/smmap/smmap-3.0.4.tar.gz"
+ pypi = "smmap/smmap-3.0.4.tar.gz"
version('3.0.4', sha256='9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24')
diff --git a/var/spack/repos/builtin/packages/py-sncosmo/package.py b/var/spack/repos/builtin/packages/py-sncosmo/package.py
index 3108b961cf..5fbc3eadbe 100644
--- a/var/spack/repos/builtin/packages/py-sncosmo/package.py
+++ b/var/spack/repos/builtin/packages/py-sncosmo/package.py
@@ -11,7 +11,7 @@ class PySncosmo(PythonPackage):
analysis."""
homepage = "http://sncosmo.readthedocs.io/"
- url = "https://pypi.io/packages/source/s/sncosmo/sncosmo-1.2.0.tar.gz"
+ pypi = "sncosmo/sncosmo-1.2.0.tar.gz"
version('1.2.0', sha256='f3969eec5b25f60c70418dbd64765a2b4735bb53c210c61d0aab68916daea588')
diff --git a/var/spack/repos/builtin/packages/py-sniffio/package.py b/var/spack/repos/builtin/packages/py-sniffio/package.py
index 7ededd453a..876719b1e1 100644
--- a/var/spack/repos/builtin/packages/py-sniffio/package.py
+++ b/var/spack/repos/builtin/packages/py-sniffio/package.py
@@ -11,7 +11,7 @@ class PySniffio(PythonPackage):
async library your code is running under."""
homepage = "https://github.com/python-trio/sniffio"
- url = "https://pypi.io/packages/source/s/sniffio/sniffio-1.1.0.tar.gz"
+ pypi = "sniffio/sniffio-1.1.0.tar.gz"
version('1.1.0', sha256='8e3810100f69fe0edd463d02ad407112542a11ffdc29f67db2bf3771afb87a21')
diff --git a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
index 4502c5cc7b..bd944b5858 100644
--- a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
+++ b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
@@ -11,7 +11,7 @@ class PySnowballstemmer(PythonPackage):
English stemmer) generated from Snowball algorithms."""
homepage = "https://github.com/shibukawa/snowball_py"
- url = "https://pypi.io/packages/source/s/snowballstemmer/snowballstemmer-2.0.0.tar.gz"
+ pypi = "snowballstemmer/snowballstemmer-2.0.0.tar.gz"
version('2.0.0', sha256='df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52')
version('1.2.1', sha256='919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128')
diff --git a/var/spack/repos/builtin/packages/py-sortedcontainers/package.py b/var/spack/repos/builtin/packages/py-sortedcontainers/package.py
index 33ab9ee443..0907631c05 100644
--- a/var/spack/repos/builtin/packages/py-sortedcontainers/package.py
+++ b/var/spack/repos/builtin/packages/py-sortedcontainers/package.py
@@ -11,7 +11,7 @@ class PySortedcontainers(PythonPackage):
written in pure-Python, and fast as C-extensions."""
homepage = "http://www.grantjenks.com/docs/sortedcontainers/"
- url = "https://pypi.io/packages/source/s/sortedcontainers/sortedcontainers-2.1.0.tar.gz"
+ pypi = "sortedcontainers/sortedcontainers-2.1.0.tar.gz"
version('2.1.0', sha256='974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a')
diff --git a/var/spack/repos/builtin/packages/py-soundfile/package.py b/var/spack/repos/builtin/packages/py-soundfile/package.py
index aa485deca3..c7c987a52e 100644
--- a/var/spack/repos/builtin/packages/py-soundfile/package.py
+++ b/var/spack/repos/builtin/packages/py-soundfile/package.py
@@ -10,7 +10,7 @@ class PySoundfile(PythonPackage):
"""SoundFile is an audio library based on libsndfile, CFFI and NumPy."""
homepage = "https://github.com/bastibe/PySoundFile"
- url = "https://pypi.io/packages/source/S/SoundFile/SoundFile-0.10.3.post1.tar.gz"
+ pypi = "SoundFile/SoundFile-0.10.3.post1.tar.gz"
version('0.10.3.post1', sha256='490cff42650733d1832728b937fe99fa1802896f5ef4d61bcf78cf7ebecb107b')
diff --git a/var/spack/repos/builtin/packages/py-soupsieve/package.py b/var/spack/repos/builtin/packages/py-soupsieve/package.py
index be9d52e208..4e83d35e38 100644
--- a/var/spack/repos/builtin/packages/py-soupsieve/package.py
+++ b/var/spack/repos/builtin/packages/py-soupsieve/package.py
@@ -10,7 +10,7 @@ class PySoupsieve(PythonPackage):
"""A modern CSS selector implementation for Beautiful Soup."""
homepage = "https://github.com/facelessuser/soupsieve"
- url = "https://pypi.io/packages/source/s/soupsieve/soupsieve-1.9.3.tar.gz"
+ pypi = "soupsieve/soupsieve-1.9.3.tar.gz"
version('1.9.3', sha256='8662843366b8d8779dec4e2f921bebec9afd856a5ff2e82cd419acc5054a1a92')
diff --git a/var/spack/repos/builtin/packages/py-spacy/package.py b/var/spack/repos/builtin/packages/py-spacy/package.py
index 74e3a35708..c1d752a785 100644
--- a/var/spack/repos/builtin/packages/py-spacy/package.py
+++ b/var/spack/repos/builtin/packages/py-spacy/package.py
@@ -9,7 +9,7 @@ class PySpacy(PythonPackage):
Python and Cython."""
homepage = "https://spacy.io/"
- url = "https://pypi.io/packages/source/s/spacy/spacy-2.3.2.tar.gz"
+ pypi = "spacy/spacy-2.3.2.tar.gz"
version('2.3.2', sha256='818de26e0e383f64ccbe3db185574920de05923d8deac8bbb12113b9e33cee1f')
version('2.2.4', sha256='f0f3a67c5841e6e35d62c98f40ebb3d132587d3aba4f4dccac5056c4e90ff5b9')
diff --git a/var/spack/repos/builtin/packages/py-spatialist/package.py b/var/spack/repos/builtin/packages/py-spatialist/package.py
index ff7386fd00..f686e30cca 100644
--- a/var/spack/repos/builtin/packages/py-spatialist/package.py
+++ b/var/spack/repos/builtin/packages/py-spatialist/package.py
@@ -12,7 +12,7 @@ class PySpatialist(PythonPackage):
processing using GDAL and OGR."""
homepage = "https://github.com/johntruckenbrodt/spatialist"
- url = "https://pypi.io/packages/source/s/spatialist/spatialist-0.4.tar.gz"
+ pypi = "spatialist/spatialist-0.4.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-spatialite/package.py b/var/spack/repos/builtin/packages/py-spatialite/package.py
index e78cff81ad..2f7406b39e 100644
--- a/var/spack/repos/builtin/packages/py-spatialite/package.py
+++ b/var/spack/repos/builtin/packages/py-spatialite/package.py
@@ -12,7 +12,7 @@ class PySpatialite(PythonPackage):
"""
homepage = "https://github.com/malexer/spatialite"
- url = "https://pypi.io/packages/source/s/spatialite/spatialite-0.0.3.tar.gz"
+ pypi = "spatialite/spatialite-0.0.3.tar.gz"
version('0.0.3', sha256='a0761f239a52f326b14ce41ba61b6614dfcc808b978a0bec4a37c1de9ad9071e')
diff --git a/var/spack/repos/builtin/packages/py-spdlog/package.py b/var/spack/repos/builtin/packages/py-spdlog/package.py
index 0e9d377353..83c0b9e0ab 100644
--- a/var/spack/repos/builtin/packages/py-spdlog/package.py
+++ b/var/spack/repos/builtin/packages/py-spdlog/package.py
@@ -11,7 +11,7 @@ class PySpdlog(PythonPackage):
to the C++ spdlog library."""
homepage = 'https://github.com/bodgergely/spdlog-python'
- url = 'https://pypi.io/packages/source/s/spdlog/spdlog-2.0.0.tar.gz'
+ pypi = 'spdlog/spdlog-2.0.0.tar.gz'
git = 'https://github.com/bodgergely/spdlog-python.git'
# NOTE: Righ now py-spdlog works with a git submodule containing a copy
diff --git a/var/spack/repos/builtin/packages/py-spectra/package.py b/var/spack/repos/builtin/packages/py-spectra/package.py
index 063680bb7c..644b10526c 100644
--- a/var/spack/repos/builtin/packages/py-spectra/package.py
+++ b/var/spack/repos/builtin/packages/py-spectra/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySpectra(PythonPackage):
"""Color scales and color conversion made easy for Python."""
- homepage = "https://pypi.python.org/pypi/spectra/0.0.8"
- url = "https://pypi.io/packages/source/s/spectra/spectra-0.0.8.tar.gz"
+ pypi = "spectra/spectra-0.0.8.tar.gz"
version('0.0.11', sha256='8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8')
version('0.0.8', sha256='851b88c9c0bba84e0be1fce5b9c02a7b4ef139a2b3e590b0d082d679e19f0759')
diff --git a/var/spack/repos/builtin/packages/py-spglib/package.py b/var/spack/repos/builtin/packages/py-spglib/package.py
index c1b6cf6981..f87a1f9409 100644
--- a/var/spack/repos/builtin/packages/py-spglib/package.py
+++ b/var/spack/repos/builtin/packages/py-spglib/package.py
@@ -11,7 +11,7 @@ class PySpglib(PythonPackage):
crystal symmetries."""
homepage = "http://atztogo.github.io/spglib/"
- url = "https://pypi.io/packages/source/s/spglib/spglib-1.9.9.18.tar.gz"
+ pypi = "spglib/spglib-1.9.9.18.tar.gz"
version('1.9.9.18', sha256='cbbb8383320b500dc6100b83d5e914a26a97ef8fc97c82d8921b10220e4126cd')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py
index f24af6bbb7..18d8e4fae4 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySphinxBootstrapTheme(PythonPackage):
"""Sphinx Bootstrap Theme."""
- homepage = "https://pypi.python.org/pypi/sphinx-bootstrap-theme/"
- url = "https://pypi.io/packages/source/s/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.13.tar.gz"
+ pypi = "sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.13.tar.gz"
version('0.4.13', sha256='47f7719e56304026f285455bbb115525d227a6e23341d4b7f6f0b48b2eface82')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py b/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
index 12d4df06dd..a839fa3fad 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
@@ -10,7 +10,7 @@ class PySphinxCopybutton(PythonPackage):
"""A small sphinx extension to add a "copy" button to code blocks."""
homepage = "https://github.com/choldgraf/sphinx-copybutton"
- url = "https://files.pythonhosted.org/packages/b7/74/da355d8a909a7934b5f1711fce6f056e0c398094918dec3a23703662a0fe/sphinx-copybutton-0.2.12.tar.gz"
+ pypi = "sphinx-copybutton/sphinx-copybutton-0.2.12.tar.gz"
version('0.2.12', sha256='9492883786984b6179c92c07ab0410237b26efa826adfa792acfd17b91a63e5c')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py b/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
index 067ea9b40c..a3ad3a1715 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
@@ -12,7 +12,7 @@ class PySphinxGallery(PythonPackage):
"""
homepage = "https://sphinx-gallery.github.io"
- url = "https://files.pythonhosted.org/packages/9d/20/79118154e64a5280060b55c7ad025ad16f89b8192a6a9f0ffdbf71717bf0/sphinx-gallery-0.7.0.tar.gz"
+ pypi = "sphinx-gallery/sphinx-gallery-0.7.0.tar.gz"
version('0.7.0', sha256='05ead72c947718ab4183c33a598e29743e771dcf75aec84c53048423bd2f4580')
version('0.4.0', sha256='a286cf2eea47ce838a0754ecef617616afb1f40e41e52fe765723464f52e0c2f')
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index 2545853d27..9f6cc6fb7e 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -10,7 +10,7 @@ class PySphinx(PythonPackage):
"""Sphinx Documentation Generator."""
homepage = "https://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/S/Sphinx/Sphinx-3.2.0.tar.gz"
+ pypi = "Sphinx/Sphinx-3.2.0.tar.gz"
version('3.2.0', sha256='cf2d5bc3c6c930ab0a1fbef3ad8a82994b1bf4ae923f8098a05c7e5516f07177')
version('3.0.0', sha256='6a099e6faffdc3ceba99ca8c2d09982d43022245e409249375edf111caf79ed3')
diff --git a/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py b/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py
index 7538121854..780003c8b3 100644
--- a/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py
@@ -10,7 +10,7 @@ class PySphinxautomodapi(PythonPackage):
"""Provides Sphinx directives to autogenerate API documentation pages"""
homepage = "https://sphinx-automodapi.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/s/sphinx-automodapi/sphinx-automodapi-0.9.tar.gz"
+ pypi = "sphinx-automodapi/sphinx-automodapi-0.9.tar.gz"
version('0.9', sha256='71a69e1a7ab8d849f416d7431db854d7b1925f749ba6345bc7d88f288892871d')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
index 9d6af67f0e..64157c4b47 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribApplehelp(PythonPackage):
help books."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.1.tar.gz"
+ pypi = "sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.1.tar.gz"
# Sphinx requires sphinxcontrib-applehelp at build-time, but
# sphinxcontrib-applehelp requires sphinx at run-time
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
index cc6bd05192..854860d31d 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySphinxcontribBibtex(PythonPackage):
"""A Sphinx extension for BibTeX style citations."""
- homepage = "https://pypi.python.org/pypi/sphinxcontrib-bibtex"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-bibtex/sphinxcontrib-bibtex-0.3.5.tar.gz"
+ pypi = "sphinxcontrib-bibtex/sphinxcontrib-bibtex-0.3.5.tar.gz"
version('2.0.0', sha256='98e18eb0b088d3f556199f3fbb91d3d48ebb7596fe86b6c37cc4c4dc5419b7a1')
version('1.0.0', sha256='629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
index 9c51234485..095671d40a 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribDevhelp(PythonPackage):
Devhelp document."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.1.tar.gz"
+ pypi = "sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.1.tar.gz"
# Sphinx requires sphinxcontrib-devhelp at build-time, but
# sphinxcontrib-devhelp requires sphinx at run-time
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
index 625e596998..95053ad7dc 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribHtmlhelp(PythonPackage):
document."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-1.0.2.tar.gz"
+ pypi = "sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-1.0.2.tar.gz"
# Sphinx requires sphinxcontrib-htmlhelp at build-time, but
# sphinxcontrib-htmlhelp requires sphinx at run-time
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py
index 2197c3080c..01f1112760 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py
@@ -10,7 +10,7 @@ class PySphinxcontribIssuetracker(PythonPackage):
"""Sphinx integration with different issuetrackers."""
homepage = "https://sphinxcontrib-issuetracker.readthedocs.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11.tar.gz"
+ pypi = "sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11.tar.gz"
version('0.11', sha256='843753d8b5e989116378ab45ecccb368fb78dc56eaa1554ed25e4fbf22745f4e')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
index 162df9b122..958bc6a0f2 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
@@ -10,7 +10,7 @@ class PySphinxcontribJsmath(PythonPackage):
"""A sphinx extension which renders display math in HTML via JavaScript."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1.tar.gz"
+ pypi = "sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1.tar.gz"
# Sphinx requires sphinxcontrib-jsmath at build-time, but
# sphinxcontrib-jsmath requires sphinx at run-time
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
index c4e1b0d35f..6a9c9ad399 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
@@ -12,9 +12,8 @@ class PySphinxcontribMermaid(PythonPackage):
including general flowcharts, sequence and gantt diagrams."""
homepage = "https://github.com/mgaitan/sphinxcontrib-mermaid"
- url = "https://files.pythonhosted.org/packages/8e/0a/8a97b65608a63c43a99a9d6a37a5baff853f306e8506bf21ce54bb50d4f3/sphinxcontrib-mermaid-0.4.0.tar.gz"
+ pypi = "sphinxcontrib-mermaid/sphinxcontrib-mermaid-0.4.0.tar.gz"
version('0.4.0', sha256='0ee45ba45b9575505eacdd6212e4e545213f4f93dfa32c7eeca32720dbc3b468')
- version('0.3.1', sha256='649738afc3022d25a742a928f7b4146cf6024b1d8bb49017962713d2de78123c', extension='zip')
depends_on('py-sphinx@1.7:')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
index c512f76963..d3ab808662 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribProgramoutput(PythonPackage):
into documents, helping you to keep your command examples up to date."""
homepage = "https://sphinxcontrib-programoutput.readthedocs.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.15.tar.gz"
+ pypi = "sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.15.tar.gz"
version('0.15', sha256='80dd5b4eab780a13ff2c23500cac3dbf0e04ef9976b409ef25a47c263ef8ab94')
version('0.10', sha256='fdee94fcebb0d8fddfccac5c4fa560f6177d5340c4349ee447c890bea8857094')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
index f79c020fc0..0eacdd896d 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribQthelp(PythonPackage):
document."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.2.tar.gz"
+ pypi = "sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.2.tar.gz"
# Sphinx requires sphinxcontrib-qthelp at build-time, but
# sphinxcontrib-qthelp requires sphinx at run-time
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
index ec07172bda..dbb958f2d1 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribSerializinghtml(PythonPackage):
"serialized" HTML files (json and pickle)."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.3.tar.gz"
+ pypi = "sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.3.tar.gz"
# Sphinx requires sphinxcontrib-serializinghtml at build-time, but
# sphinxcontrib-serializinghtml requires sphinx at run-time
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
index 191907db4f..be9ecea300 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
@@ -12,7 +12,7 @@ class PySphinxcontribTrio(PythonPackage):
or ... you get the idea."""
homepage = "https://github.com/python-trio/sphinxcontrib-trio"
- url = "https://files.pythonhosted.org/packages/ca/33/ee48d86e30bb3c5d72a47f49b1ebf5c23dd253b04d8d5fc3e6c68407a03e/sphinxcontrib-trio-1.1.2.tar.gz"
+ pypi = "sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.tar.gz"
version('1.1.2', sha256='9f1ba9c1d5965b534e85258d8b677dd94e9b1a9a2e918b85ccd42590596b47c0')
version('1.1.0', sha256='d90f46d239ba0556e53d9a110989f98c9eb2cea76ab47937a1f39b62f63fe654')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
index 8892f3793b..cc145cd8ab 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
@@ -11,7 +11,7 @@ class PySphinxcontribWebsupport(PythonPackage):
Sphinx documentation into your Web application."""
homepage = "http://sphinx-doc.org/"
- url = "https://pypi.io/packages/source/s/sphinxcontrib-websupport/sphinxcontrib-websupport-1.1.2.tar.gz"
+ pypi = "sphinxcontrib-websupport/sphinxcontrib-websupport-1.1.2.tar.gz"
version('1.1.2', sha256='1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc')
version('1.1.0', sha256='9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9')
diff --git a/var/spack/repos/builtin/packages/py-spyder/package.py b/var/spack/repos/builtin/packages/py-spyder/package.py
index a6ee780dd6..d86d5e7448 100644
--- a/var/spack/repos/builtin/packages/py-spyder/package.py
+++ b/var/spack/repos/builtin/packages/py-spyder/package.py
@@ -10,7 +10,7 @@ class PySpyder(PythonPackage):
"""Scientific PYthon Development EnviRonment"""
homepage = "https://github.com/spyder-ide/spyder"
- url = "https://pypi.io/packages/source/s/spyder/spyder-3.1.3.tar.gz"
+ pypi = "spyder/spyder-3.1.3.tar.gz"
version('3.1.3', sha256='4978872cc5a006803bc8742d0a8fb43c49aef9524f0a9fcb8bd6dfcfdc2d2d6a')
diff --git a/var/spack/repos/builtin/packages/py-spykeutils/package.py b/var/spack/repos/builtin/packages/py-spykeutils/package.py
index bef3f0589d..7fded1090e 100644
--- a/var/spack/repos/builtin/packages/py-spykeutils/package.py
+++ b/var/spack/repos/builtin/packages/py-spykeutils/package.py
@@ -10,7 +10,7 @@ class PySpykeutils(PythonPackage):
"""Utilities for analyzing electrophysiological data"""
homepage = "https://github.com/rproepp/spykeutils"
- url = "https://pypi.io/packages/source/s/spykeutils/spykeutils-0.4.3.tar.gz"
+ pypi = "spykeutils/spykeutils-0.4.3.tar.gz"
version('0.4.3', sha256='ff6206d9116d665024109c997377bfed37d953a4cac2859b79a610f395b6b37b')
diff --git a/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py b/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py
index 1687054ccf..aa57f9b74e 100644
--- a/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py
@@ -10,7 +10,7 @@ class PySqlalchemyUtils(PythonPackage):
"""Various utility functions and custom data types for SQLAlchemy."""
homepage = "https://github.com/kvesteri/sqlalchemy-utils"
- url = "https://pypi.io/packages/source/s/sqlalchemy-utils/SQLAlchemy-Utils-0.36.8.tar.gz"
+ pypi = "sqlalchemy-utils/SQLAlchemy-Utils-0.36.8.tar.gz"
version('0.36.8', sha256='fb66e9956e41340011b70b80f898fde6064ec1817af77199ee21ace71d7d6ab0')
diff --git a/var/spack/repos/builtin/packages/py-sqlalchemy/package.py b/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
index 37b6568290..02d6846df8 100644
--- a/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
@@ -10,7 +10,7 @@ class PySqlalchemy(PythonPackage):
"""The Python SQL Toolkit and Object Relational Mapper"""
homepage = 'http://www.sqlalchemy.org/'
- url = "https://pypi.io/packages/source/S/SQLAlchemy/SQLAlchemy-1.3.9.tar.gz"
+ pypi = "SQLAlchemy/SQLAlchemy-1.3.9.tar.gz"
version('1.3.19', sha256='3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e')
version('1.3.9', sha256='272a835758908412e75e87f75dd0179a51422715c125ce42109632910526b1fd')
diff --git a/var/spack/repos/builtin/packages/py-srsly/package.py b/var/spack/repos/builtin/packages/py-srsly/package.py
index a0f0405e56..40fd7d226e 100644
--- a/var/spack/repos/builtin/packages/py-srsly/package.py
+++ b/var/spack/repos/builtin/packages/py-srsly/package.py
@@ -8,7 +8,7 @@ class PySrsly(PythonPackage):
"""srsly: Modern high-performance serialization utilities for Python."""
homepage = "https://github.com/explosion/srsly"
- url = "https://pypi.io/packages/source/s/srsly/srsly-2.0.1.tar.gz"
+ pypi = "srsly/srsly-2.0.1.tar.gz"
version('2.0.1', sha256='fa3c7375be8fe75f23c27feafbfb5f738d55ffdbf02964c6896fb7684f519a52')
version('2.0.0', sha256='785b00e00406120dbef4ca82925051e6b60fe870c5f84f0d22b3632d574eb870')
diff --git a/var/spack/repos/builtin/packages/py-sshtunnel/package.py b/var/spack/repos/builtin/packages/py-sshtunnel/package.py
index c9a13fa06e..d863c8efef 100644
--- a/var/spack/repos/builtin/packages/py-sshtunnel/package.py
+++ b/var/spack/repos/builtin/packages/py-sshtunnel/package.py
@@ -8,7 +8,7 @@ class PySshtunnel(PythonPackage):
"""Pure python SSH tunnels."""
homepage = "https://github.com/pahaz/sshtunnel"
- url = "https://pypi.io/packages/source/s/sshtunnel/sshtunnel-0.1.5.tar.gz"
+ pypi = "sshtunnel/sshtunnel-0.1.5.tar.gz"
version('0.1.5', sha256='c813fdcda8e81c3936ffeac47cb69cfb2d1f5e77ad0de656c6dab56aeebd9249')
diff --git a/var/spack/repos/builtin/packages/py-statsmodels/package.py b/var/spack/repos/builtin/packages/py-statsmodels/package.py
index d2bfd16e37..255196f6bc 100644
--- a/var/spack/repos/builtin/packages/py-statsmodels/package.py
+++ b/var/spack/repos/builtin/packages/py-statsmodels/package.py
@@ -11,7 +11,7 @@ class PyStatsmodels(PythonPackage):
"""Statistical computations and models for use with SciPy"""
homepage = "http://www.statsmodels.org"
- url = "https://pypi.io/packages/source/s/statsmodels/statsmodels-0.8.0.tar.gz"
+ pypi = "statsmodels/statsmodels-0.8.0.tar.gz"
version('0.10.2', sha256='9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9')
version('0.10.1', sha256='320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10')
diff --git a/var/spack/repos/builtin/packages/py-stdlib-list/package.py b/var/spack/repos/builtin/packages/py-stdlib-list/package.py
index 3bbe840729..58486fac66 100644
--- a/var/spack/repos/builtin/packages/py-stdlib-list/package.py
+++ b/var/spack/repos/builtin/packages/py-stdlib-list/package.py
@@ -9,8 +9,7 @@ class PyStdlibList(PythonPackage):
for Python, along with the code for scraping the official Python
docs to get said lists."""
- homepage = "https://pypi.python.org/project/stdlib-list"
- url = "https://pypi.io/packages/source/s/stdlib-list/stdlib-list-0.6.0.tar.gz"
+ pypi = "stdlib-list/stdlib-list-0.6.0.tar.gz"
version('0.6.0', sha256='133cc99104f5a4e1604dc88ebb393529bd4c2b99ae7e10d46c0b596f3c67c3f0')
diff --git a/var/spack/repos/builtin/packages/py-stestr/package.py b/var/spack/repos/builtin/packages/py-stestr/package.py
index fbc7259d2c..e50356a8a8 100644
--- a/var/spack/repos/builtin/packages/py-stestr/package.py
+++ b/var/spack/repos/builtin/packages/py-stestr/package.py
@@ -10,7 +10,7 @@ class PyStestr(PythonPackage):
"""A parallel Python test runner built around subunit."""
homepage = "https://stestr.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/s/stestr/stestr-2.5.1.tar.gz"
+ pypi = "stestr/stestr-2.5.1.tar.gz"
version('2.5.1', sha256='151479fdf2db9f5f492b5285f4696f2d38960639054835dbdcd4c0687122c0fd')
diff --git a/var/spack/repos/builtin/packages/py-stevedore/package.py b/var/spack/repos/builtin/packages/py-stevedore/package.py
index d57b6f373b..7e2baa52ee 100644
--- a/var/spack/repos/builtin/packages/py-stevedore/package.py
+++ b/var/spack/repos/builtin/packages/py-stevedore/package.py
@@ -10,7 +10,7 @@ class PyStevedore(PythonPackage):
"""Manage Dynamic Plugins for Python Applications."""
homepage = "https://docs.openstack.org/stevedore/latest/"
- url = "https://pypi.io/packages/source/s/stevedore/stevedore-1.28.0.tar.gz"
+ pypi = "stevedore/stevedore-1.28.0.tar.gz"
version('1.28.0', sha256='f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b')
diff --git a/var/spack/repos/builtin/packages/py-stopit/package.py b/var/spack/repos/builtin/packages/py-stopit/package.py
index 5fd754d278..33da367869 100644
--- a/var/spack/repos/builtin/packages/py-stopit/package.py
+++ b/var/spack/repos/builtin/packages/py-stopit/package.py
@@ -12,8 +12,7 @@ class PyStopit(PythonPackage):
blocks or callables with two context managers and two decorators.
"""
- homepage = "https://pypi.org/project/stopit/"
- url = "https://pypi.io/packages/source/s/stopit/stopit-1.1.2.tar.gz"
+ pypi = "stopit/stopit-1.1.2.tar.gz"
version('1.1.2', sha256='f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d')
diff --git a/var/spack/repos/builtin/packages/py-stratify/package.py b/var/spack/repos/builtin/packages/py-stratify/package.py
index bce0899efe..0fc71d7a9a 100644
--- a/var/spack/repos/builtin/packages/py-stratify/package.py
+++ b/var/spack/repos/builtin/packages/py-stratify/package.py
@@ -13,7 +13,7 @@ class PyStratify(PythonPackage):
"""
homepage = "https://github.com/SciTools-incubator/python-stratify"
- url = "https://pypi.io/packages/source/s/stratify/stratify-0.1.tar.gz"
+ pypi = "stratify/stratify-0.1.tar.gz"
version('0.1', sha256='5426f3b66e45e1010952d426e5a7be42cd45fe65f1cd73a98fee1eb7c110c6ee')
diff --git a/var/spack/repos/builtin/packages/py-subprocess32/package.py b/var/spack/repos/builtin/packages/py-subprocess32/package.py
index 9c362b30cf..e9e1dfbba1 100644
--- a/var/spack/repos/builtin/packages/py-subprocess32/package.py
+++ b/var/spack/repos/builtin/packages/py-subprocess32/package.py
@@ -9,8 +9,7 @@ from spack import *
class PySubprocess32(PythonPackage):
"""A backport of the subprocess module from Python 3.2/3.3 for 2.x."""
- homepage = "https://pypi.python.org/pypi/subprocess32"
- url = "https://pypi.io/packages/source/s/subprocess32/subprocess32-3.2.7.tar.gz"
+ pypi = "subprocess32/subprocess32-3.2.7.tar.gz"
version('3.5.4', sha256='eb2937c80497978d181efa1b839ec2d9622cf9600a039a79d0e108d1f9aec79d')
version('3.2.7', sha256='1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590')
diff --git a/var/spack/repos/builtin/packages/py-svgpathtools/package.py b/var/spack/repos/builtin/packages/py-svgpathtools/package.py
index b4e23be0a7..696405f24e 100644
--- a/var/spack/repos/builtin/packages/py-svgpathtools/package.py
+++ b/var/spack/repos/builtin/packages/py-svgpathtools/package.py
@@ -11,8 +11,7 @@ class PySvgpathtools(PythonPackage):
"""A collection of tools for manipulating and analyzing SVG Path objects
and Bezier curves."""
- homepage = "https://pypi.org/project/svgpathtools/"
- url = "https://pypi.io/packages/source/s/svgpathtools/svgpathtools-1.3.3.tar.gz"
+ pypi = "svgpathtools/svgpathtools-1.3.3.tar.gz"
version('1.3.3', sha256='e4b3784ae41b725fbce6a33a8981210967b16d0b557cb5d98c0ed0c81f0f89b9')
diff --git a/var/spack/repos/builtin/packages/py-svgwrite/package.py b/var/spack/repos/builtin/packages/py-svgwrite/package.py
index 23373f95e5..f354b7c8ea 100644
--- a/var/spack/repos/builtin/packages/py-svgwrite/package.py
+++ b/var/spack/repos/builtin/packages/py-svgwrite/package.py
@@ -10,8 +10,7 @@ from spack import *
class PySvgwrite(PythonPackage):
"""A Python library to create SVG drawings."""
- homepage = "https://pypi.org/project/svgwrite/"
- url = "https://pypi.io/packages/source/s/svgwrite/svgwrite-1.1.12.zip"
+ pypi = "svgwrite/svgwrite-1.1.12.zip"
version('1.1.12', sha256='968c99f193f34f0fa7f0b3e82f49b93789c7c45cd89ce190480f16020d41ab79')
diff --git a/var/spack/repos/builtin/packages/py-symengine/package.py b/var/spack/repos/builtin/packages/py-symengine/package.py
index c9eb6078f0..51b7f6155e 100644
--- a/var/spack/repos/builtin/packages/py-symengine/package.py
+++ b/var/spack/repos/builtin/packages/py-symengine/package.py
@@ -10,7 +10,7 @@ class PySymengine(PythonPackage):
"""Python wrappers for SymEngine, a symbolic manipulation library."""
homepage = "https://github.com/symengine/symengine.py"
- url = "https://pypi.io/packages/source/s/symengine/symengine-0.2.0.tar.gz"
+ pypi = "symengine/symengine-0.2.0.tar.gz"
git = "https://github.com/symengine/symengine.py.git"
version('develop', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-symfit/package.py b/var/spack/repos/builtin/packages/py-symfit/package.py
index 2124792628..f7acfbed87 100644
--- a/var/spack/repos/builtin/packages/py-symfit/package.py
+++ b/var/spack/repos/builtin/packages/py-symfit/package.py
@@ -10,7 +10,7 @@ class PySymfit(PythonPackage):
"""Symbolic Fitting; fitting as it should be."""
homepage = "http://symfit.readthedocs.org"
- url = "https://pypi.io/packages/source/s/symfit/symfit-0.3.5.tar.gz"
+ pypi = "symfit/symfit-0.3.5.tar.gz"
version('0.3.5', sha256='24c66305895c590249da7e61f62f128ee1c0c43c0a8c8e33b8abd3e0931f0881')
diff --git a/var/spack/repos/builtin/packages/py-sympy/package.py b/var/spack/repos/builtin/packages/py-sympy/package.py
index 8aec875219..be57799c43 100644
--- a/var/spack/repos/builtin/packages/py-sympy/package.py
+++ b/var/spack/repos/builtin/packages/py-sympy/package.py
@@ -8,8 +8,7 @@ from spack import *
class PySympy(PythonPackage):
"""SymPy is a Python library for symbolic mathematics."""
- homepage = "https://pypi.python.org/pypi/sympy"
- url = "https://pypi.io/packages/source/s/sympy/sympy-0.7.6.tar.gz"
+ pypi = "sympy/sympy-0.7.6.tar.gz"
version('1.4', sha256='71a11e5686ae7ab6cb8feb5bd2651ef4482f8fd43a7c27e645a165e4353b23e1')
version('1.3', sha256='e1319b556207a3758a0efebae14e5e52c648fc1db8975953b05fff12b6871b54')
diff --git a/var/spack/repos/builtin/packages/py-systemd-python/package.py b/var/spack/repos/builtin/packages/py-systemd-python/package.py
index 82a9d44870..1721d2d33d 100644
--- a/var/spack/repos/builtin/packages/py-systemd-python/package.py
+++ b/var/spack/repos/builtin/packages/py-systemd-python/package.py
@@ -10,6 +10,6 @@ class PySystemdPython(PythonPackage):
"""Python interface for libsystemd"""
homepage = "https://github.com/systemd/python-systemd"
- url = "https://pypi.io/packages/source/s/systemd-python/systemd-python-234.tar.gz"
+ pypi = "systemd-python/systemd-python-234.tar.gz"
version('234', sha256='fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7')
diff --git a/var/spack/repos/builtin/packages/py-tables/package.py b/var/spack/repos/builtin/packages/py-tables/package.py
index 6d72791816..07c48a1d10 100644
--- a/var/spack/repos/builtin/packages/py-tables/package.py
+++ b/var/spack/repos/builtin/packages/py-tables/package.py
@@ -11,7 +11,7 @@ class PyTables(PythonPackage):
efficiently and easily cope with extremely large amounts of data."""
homepage = "http://www.pytables.org/"
- url = "https://pypi.io/packages/source/t/tables/tables-3.6.1.tar.gz"
+ pypi = "tables/tables-3.6.1.tar.gz"
version('3.6.1', sha256='49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49')
version('3.6.0', sha256='db3488214864fb313a611fca68bf1c9019afe4e7877be54d0e61c84416603d4d')
diff --git a/var/spack/repos/builtin/packages/py-tabulate/package.py b/var/spack/repos/builtin/packages/py-tabulate/package.py
index 45cc865bbb..42c008009c 100644
--- a/var/spack/repos/builtin/packages/py-tabulate/package.py
+++ b/var/spack/repos/builtin/packages/py-tabulate/package.py
@@ -10,7 +10,7 @@ class PyTabulate(PythonPackage):
"""Pretty-print tabular data"""
homepage = "https://bitbucket.org/astanin/python-tabulate"
- url = "https://pypi.io/packages/source/t/tabulate/tabulate-0.8.6.tar.gz"
+ pypi = "tabulate/tabulate-0.8.6.tar.gz"
version('0.8.7', sha256='db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007')
version('0.8.6', sha256='5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8')
diff --git a/var/spack/repos/builtin/packages/py-tap-py/package.py b/var/spack/repos/builtin/packages/py-tap-py/package.py
index a0c9c84ee6..c0d6872ee5 100644
--- a/var/spack/repos/builtin/packages/py-tap-py/package.py
+++ b/var/spack/repos/builtin/packages/py-tap-py/package.py
@@ -10,7 +10,7 @@ class PyTapPy(PythonPackage):
"""Python TAP interface module for unit tests"""
homepage = "https://github.com/python-tap/tappy"
- url = "https://pypi.io/packages/source/t/tap.py/tap.py-3.0.tar.gz"
+ pypi = "tap.py/tap.py-3.0.tar.gz"
version('3.0', sha256='f5eeeeebfd64e53d32661752bb4c288589a3babbb96db3f391a4ec29f1359c70')
version('2.6.2', sha256='5f219d92dbad5e378f8f7549cdfe655b0d5fd2a778f9c83bee51b61c6ca40efb')
diff --git a/var/spack/repos/builtin/packages/py-tatsu/package.py b/var/spack/repos/builtin/packages/py-tatsu/package.py
index 6e45f07aeb..495c55990c 100644
--- a/var/spack/repos/builtin/packages/py-tatsu/package.py
+++ b/var/spack/repos/builtin/packages/py-tatsu/package.py
@@ -12,7 +12,7 @@ class PyTatsu(PythonPackage):
parsers in Python."""
homepage = "https://github.com/neogeny/tatsu"
- url = "https://pypi.io/packages/source/T/TatSu/TatSu-4.4.0.zip"
+ pypi = "TatSu/TatSu-4.4.0.zip"
version('4.4.0', sha256='80713413473a009f2081148d0f494884cabaf9d6866b71f2a68a92b6442f343d')
diff --git a/var/spack/repos/builtin/packages/py-tblib/package.py b/var/spack/repos/builtin/packages/py-tblib/package.py
index f32e292c12..1d35a60636 100644
--- a/var/spack/repos/builtin/packages/py-tblib/package.py
+++ b/var/spack/repos/builtin/packages/py-tblib/package.py
@@ -11,7 +11,7 @@ class PyTblib(PythonPackage):
"""Traceback fiddling library. Allows you to pickle tracebacks."""
homepage = "https://github.com/ionelmc/python-tblib"
- url = "https://pypi.io/packages/source/t/tblib/tblib-1.6.0.tar.gz"
+ pypi = "tblib/tblib-1.6.0.tar.gz"
version('1.6.0', sha256='229bee3754cb5d98b4837dd5c4405e80cfab57cb9f93220410ad367f8b352344')
version('1.4.0', sha256='bd1ad564564a158ff62c290687f3db446038f9ac11a0bf6892712e3601af3bcd')
diff --git a/var/spack/repos/builtin/packages/py-tempora/package.py b/var/spack/repos/builtin/packages/py-tempora/package.py
index cb69e148ad..47af7bb0b9 100644
--- a/var/spack/repos/builtin/packages/py-tempora/package.py
+++ b/var/spack/repos/builtin/packages/py-tempora/package.py
@@ -10,7 +10,7 @@ class PyTempora(PythonPackage):
"""Objects and routines pertaining to date and time (tempora) """
homepage = "https://github.com/jaraco/tempora"
- url = "https://pypi.io/packages/source/t/tempora/tempora-1.14.1.tar.gz"
+ pypi = "tempora/tempora-1.14.1.tar.gz"
version('1.14.1', sha256='cb60b1d2b1664104e307f8e5269d7f4acdb077c82e35cd57246ae14a3427d2d6')
diff --git a/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py b/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py
index 9bb5c9a377..f1ab3e7422 100644
--- a/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py
@@ -13,7 +13,7 @@ class PyTensorboardPluginWit(Package):
datapoint values. All this and more, in a visual way
that requires minimal code."""
- homepage = "https://pypi.python.org/project/tensorboard-plugin-wit"
+ homepage = "https://pypi.org/project/tensorboard-plugin-wit/"
url = "https://github.com/PAIR-code/what-if-tool/archive/v1.7.0.tar.gz"
git = "https://github.com/pair-code/what-if-tool.git"
diff --git a/var/spack/repos/builtin/packages/py-tensorboard/package.py b/var/spack/repos/builtin/packages/py-tensorboard/package.py
index c60189702b..22ff2b3582 100644
--- a/var/spack/repos/builtin/packages/py-tensorboard/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboard/package.py
@@ -9,7 +9,7 @@ class PyTensorboard(Package):
inspecting and understanding your TensorFlow runs and
graphs."""
- homepage = "https://pypi.python.org/project/tensorboard"
+ homepage = "https://github.com/tensorflow/tensorboard"
url = "https://github.com/tensorflow/tensorboard/archive/2.2.0.tar.gz"
maintainers = ['aweits']
diff --git a/var/spack/repos/builtin/packages/py-tensorboardx/package.py b/var/spack/repos/builtin/packages/py-tensorboardx/package.py
index 7faba61060..5adb00f821 100644
--- a/var/spack/repos/builtin/packages/py-tensorboardx/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboardx/package.py
@@ -12,7 +12,7 @@ class PyTensorboardx(PythonPackage):
histogram, text, embedding, and the route of back-propagation."""
homepage = "https://github.com/lanpa/tensorboardX"
- url = "https://pypi.io/packages/source/t/tensorboardx/tensorboardX-1.8.tar.gz"
+ pypi = "tensorboardx/tensorboardX-1.8.tar.gz"
version('2.0', sha256='835d85db0aef2c6768f07c35e69a74e3dcb122d6afceaf2b8504d7d16c7209a5')
version('1.9', sha256='2505d0092e6212f04c4522eea7123e8886c4d0a0b2c406e480fa61ca3c1da7ea')
diff --git a/var/spack/repos/builtin/packages/py-termcolor/package.py b/var/spack/repos/builtin/packages/py-termcolor/package.py
index f6319e6dac..c4130f798d 100644
--- a/var/spack/repos/builtin/packages/py-termcolor/package.py
+++ b/var/spack/repos/builtin/packages/py-termcolor/package.py
@@ -9,7 +9,6 @@ from spack import *
class PyTermcolor(PythonPackage):
"""ANSII Color formatting for output in terminal."""
- homepage = "https://pypi.org/project/termcolor/"
- url = "https://pypi.io/packages/source/t/termcolor/termcolor-1.1.0.tar.gz"
+ pypi = "termcolor/termcolor-1.1.0.tar.gz"
version('1.1.0', sha256='1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b')
diff --git a/var/spack/repos/builtin/packages/py-terminado/package.py b/var/spack/repos/builtin/packages/py-terminado/package.py
index dc43118738..caf31d6b77 100644
--- a/var/spack/repos/builtin/packages/py-terminado/package.py
+++ b/var/spack/repos/builtin/packages/py-terminado/package.py
@@ -7,8 +7,7 @@
class PyTerminado(PythonPackage):
"""Terminals served to term.js using Tornado websockets"""
- homepage = "https://pypi.python.org/pypi/terminado"
- url = "https://pypi.io/packages/source/t/terminado/terminado-0.8.3.tar.gz"
+ pypi = "terminado/terminado-0.8.3.tar.gz"
version('0.8.3', sha256='4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2')
version('0.8.2', sha256='de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2')
diff --git a/var/spack/repos/builtin/packages/py-testinfra/package.py b/var/spack/repos/builtin/packages/py-testinfra/package.py
index 40e7cd440c..774a030de3 100644
--- a/var/spack/repos/builtin/packages/py-testinfra/package.py
+++ b/var/spack/repos/builtin/packages/py-testinfra/package.py
@@ -12,7 +12,7 @@ class PyTestinfra(PythonPackage):
Chef and so on."""
homepage = "https://testinfra.readthedocs.io"
- url = "https://pypi.io/packages/source/t/testinfra/testinfra-1.11.1.tar.gz"
+ pypi = "testinfra/testinfra-1.11.1.tar.gz"
version('1.18.0', sha256='4a0a70355b007729d78446c86bffd80bcea4ffe9adc9571f9c9779476c49153d')
version('1.13.0', sha256='b5afa23d71ee49ad81aed104e4a0f1c02819ef791291cd308fe27aa7f3d3b01f')
diff --git a/var/spack/repos/builtin/packages/py-testpath/package.py b/var/spack/repos/builtin/packages/py-testpath/package.py
index 717f63dc6b..f030b0d4a6 100644
--- a/var/spack/repos/builtin/packages/py-testpath/package.py
+++ b/var/spack/repos/builtin/packages/py-testpath/package.py
@@ -11,6 +11,6 @@ class PyTestpath(PythonPackage):
files and commands."""
homepage = "https://github.com/jupyter/testpath"
- url = "https://pypi.io/packages/source/t/testpath/testpath-0.4.2.tar.gz"
+ pypi = "testpath/testpath-0.4.2.tar.gz"
version('0.4.2', sha256='b694b3d9288dbd81685c5d2e7140b81365d46c29f5db4bc659de5aa6b98780f8')
diff --git a/var/spack/repos/builtin/packages/py-testrepository/package.py b/var/spack/repos/builtin/packages/py-testrepository/package.py
index bb889bd4d4..e7bb2d0bcd 100644
--- a/var/spack/repos/builtin/packages/py-testrepository/package.py
+++ b/var/spack/repos/builtin/packages/py-testrepository/package.py
@@ -10,7 +10,7 @@ class PyTestrepository(PythonPackage):
"""A repository of test results."""
homepage = "https://launchpad.net/testrepository"
- url = "https://pypi.io/packages/source/t/testrepository/testrepository-0.0.20.tar.gz"
+ pypi = "testrepository/testrepository-0.0.20.tar.gz"
version('0.0.20', sha256='752449bc98c20253ec4611c40564aea93d435a5bf3ff672208e01cc10e5858eb')
diff --git a/var/spack/repos/builtin/packages/py-testresources/package.py b/var/spack/repos/builtin/packages/py-testresources/package.py
index 4468655863..83c6e116a9 100644
--- a/var/spack/repos/builtin/packages/py-testresources/package.py
+++ b/var/spack/repos/builtin/packages/py-testresources/package.py
@@ -11,7 +11,7 @@ class PyTestresources(PythonPackage):
"""
homepage = "https://launchpad.net/testresources"
- url = "https://pypi.io/packages/source/t/testresources/testresources-2.0.1.tar.gz"
+ pypi = "testresources/testresources-2.0.1.tar.gz"
version('2.0.1', sha256='ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417')
diff --git a/var/spack/repos/builtin/packages/py-testscenarios/package.py b/var/spack/repos/builtin/packages/py-testscenarios/package.py
index 0dc8a07d46..949e2d6b1e 100644
--- a/var/spack/repos/builtin/packages/py-testscenarios/package.py
+++ b/var/spack/repos/builtin/packages/py-testscenarios/package.py
@@ -10,7 +10,7 @@ class PyTestscenarios(PythonPackage):
"""Testscenarios, a pyunit extension for dependency injection"""
homepage = "https://launchpad.net/testscenarios"
- url = "https://pypi.io/packages/source/t/testscenarios/testscenarios-0.5.0.tar.gz"
+ pypi = "testscenarios/testscenarios-0.5.0.tar.gz"
version('0.5.0', sha256='c257cb6b90ea7e6f8fef3158121d430543412c9a87df30b5dde6ec8b9b57a2b6')
diff --git a/var/spack/repos/builtin/packages/py-testtools/package.py b/var/spack/repos/builtin/packages/py-testtools/package.py
index 11a59423ec..7ff44a0622 100644
--- a/var/spack/repos/builtin/packages/py-testtools/package.py
+++ b/var/spack/repos/builtin/packages/py-testtools/package.py
@@ -10,7 +10,7 @@ class PyTesttools(PythonPackage):
"""Extensions to the Python standard library unit testing framework."""
homepage = "https://github.com/testing-cabal/testtools"
- url = "https://pypi.io/packages/source/t/testtools/testtools-2.3.0.tar.gz"
+ pypi = "testtools/testtools-2.3.0.tar.gz"
version('2.3.0', sha256='5827ec6cf8233e0f29f51025addd713ca010061204fdea77484a2934690a0559')
diff --git a/var/spack/repos/builtin/packages/py-tetoolkit/package.py b/var/spack/repos/builtin/packages/py-tetoolkit/package.py
index de755e15f3..1a55abb86b 100644
--- a/var/spack/repos/builtin/packages/py-tetoolkit/package.py
+++ b/var/spack/repos/builtin/packages/py-tetoolkit/package.py
@@ -13,7 +13,7 @@ class PyTetoolkit(PythonPackage):
experiments."""
homepage = "http://hammelllab.labsites.cshl.edu/software"
- url = "https://pypi.io/packages/source/T/TEToolkit/TEToolkit-1.5.1.tar.gz"
+ pypi = "TEToolkit/TEToolkit-1.5.1.tar.gz"
version('2.0.3', sha256='1d0f5928b30c6cd9dbef8e092ae0c11e9e707faf92a19af8eed3e360da7d4e46')
version('1.5.1', sha256='22c13ca45bccc89e9d9bf48d59ae6db1fa4c634def64fc56ba9bffd23aa689ac')
diff --git a/var/spack/repos/builtin/packages/py-text-unidecode/package.py b/var/spack/repos/builtin/packages/py-text-unidecode/package.py
index 768b8a3dd8..4f713b7805 100644
--- a/var/spack/repos/builtin/packages/py-text-unidecode/package.py
+++ b/var/spack/repos/builtin/packages/py-text-unidecode/package.py
@@ -11,7 +11,7 @@ class PyTextUnidecode(PythonPackage):
library."""
homepage = "https://github.com/kmike/text-unidecode/"
- url = "https://pypi.io/packages/source/t/text-unidecode/text-unidecode-1.3.tar.gz"
+ pypi = "text-unidecode/text-unidecode-1.3.tar.gz"
version('1.3', sha256='bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93')
diff --git a/var/spack/repos/builtin/packages/py-texttable/package.py b/var/spack/repos/builtin/packages/py-texttable/package.py
index 1aec6a03f6..f69e5cc95c 100644
--- a/var/spack/repos/builtin/packages/py-texttable/package.py
+++ b/var/spack/repos/builtin/packages/py-texttable/package.py
@@ -11,7 +11,7 @@ class PyTexttable(PythonPackage):
"""Python module for creating simple ASCII tables."""
homepage = "https://github.com/foutaise/texttable/"
- url = "https://pypi.io/packages/source/t/texttable/texttable-1.6.1.tar.gz"
+ pypi = "texttable/texttable-1.6.1.tar.gz"
version('1.6.1', sha256='2b60a5304ccfbeac80ffae7350d7c2f5d7a24e9aab5036d0f82489746419d9b2')
diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py
index d06e342ea4..7d8dc5a26c 100644
--- a/var/spack/repos/builtin/packages/py-theano/package.py
+++ b/var/spack/repos/builtin/packages/py-theano/package.py
@@ -11,7 +11,7 @@ class PyTheano(PythonPackage, CudaPackage):
and GPUs."""
homepage = "http://deeplearning.net/software/theano/"
- url = "https://pypi.io/packages/source/T/Theano/Theano-0.8.2.tar.gz"
+ pypi = "Theano/Theano-0.8.2.tar.gz"
git = "https://github.com/Theano/Theano.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-thinc/package.py b/var/spack/repos/builtin/packages/py-thinc/package.py
index 2e344b8308..b9e02b50ea 100644
--- a/var/spack/repos/builtin/packages/py-thinc/package.py
+++ b/var/spack/repos/builtin/packages/py-thinc/package.py
@@ -8,7 +8,7 @@ class PyThinc(PythonPackage):
"""Thinc: Practical Machine Learning for NLP in Python."""
homepage = "https://github.com/explosion/thinc"
- url = "https://pypi.io/packages/source/t/thinc/thinc-7.4.1.tar.gz"
+ pypi = "thinc/thinc-7.4.1.tar.gz"
version('7.4.1', sha256='0139fa84dc9b8d88af15e648fc4ae13d899b8b5e49cb26a8f4a0604ee9ad8a9e')
version('7.4.0', sha256='523e9be1bfaa3ed1d03d406ce451b6b4793a9719d5b83d2ea6b3398b96bc58b8')
diff --git a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
index ca3c6fb476..5d880e44d4 100644
--- a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
+++ b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
@@ -10,7 +10,7 @@ class PyThreadpoolctl(PythonPackage):
computing and data science (e.g. BLAS and OpenMP)."""
homepage = "https://github.com/joblib/threadpoolctl"
- url = "https://pypi.io/packages/source/t/threadpoolctl/threadpoolctl-2.0.0.tar.gz"
+ pypi = "threadpoolctl/threadpoolctl-2.0.0.tar.gz"
version('2.0.0', sha256='48b3e3e9ee079d6b5295c65cbe255b36a3026afc6dde3fb49c085cd0c004bbcf')
diff --git a/var/spack/repos/builtin/packages/py-tifffile/package.py b/var/spack/repos/builtin/packages/py-tifffile/package.py
index 230226ca45..64cec02c63 100644
--- a/var/spack/repos/builtin/packages/py-tifffile/package.py
+++ b/var/spack/repos/builtin/packages/py-tifffile/package.py
@@ -10,7 +10,7 @@ class PyTifffile(PythonPackage):
"""Read and write image data from and to TIFF files."""
homepage = "https://github.com/blink1073/tifffile"
- url = "https://pypi.io/packages/source/t/tifffile/tifffile-0.12.1.tar.gz"
+ pypi = "tifffile/tifffile-0.12.1.tar.gz"
version('2020.10.1', sha256='799feeccc91965b69e1288c51a1d1118faec7f40b2eb89ad2979591b85324830')
version('0.12.1', sha256='802367effe86b0d1e64cb5c2ed886771f677fa63260b945e51a27acccdc08fa1')
diff --git a/var/spack/repos/builtin/packages/py-tokenizers/package.py b/var/spack/repos/builtin/packages/py-tokenizers/package.py
index 20de8c9141..313ee4da51 100644
--- a/var/spack/repos/builtin/packages/py-tokenizers/package.py
+++ b/var/spack/repos/builtin/packages/py-tokenizers/package.py
@@ -8,7 +8,7 @@ class PyTokenizers(PythonPackage):
"""Fast and Customizable Tokenizers."""
homepage = "https://github.com/huggingface/tokenizers"
- url = "https://pypi.io/packages/source/t/tokenizers/tokenizers-0.6.0.tar.gz"
+ pypi = "tokenizers/tokenizers-0.6.0.tar.gz"
version('0.6.0', sha256='1da11fbfb4f73be695bed0d655576097d09a137a16dceab2f66399716afaffac')
version('0.5.2', sha256='b5a235f9c71d04d4925df6c4fa13b13f1d03f9b7ac302b89f8120790c4f742bc')
diff --git a/var/spack/repos/builtin/packages/py-tomlkit/package.py b/var/spack/repos/builtin/packages/py-tomlkit/package.py
index c534d7521c..7e3aadd3d3 100644
--- a/var/spack/repos/builtin/packages/py-tomlkit/package.py
+++ b/var/spack/repos/builtin/packages/py-tomlkit/package.py
@@ -10,7 +10,7 @@ class PyTomlkit(PythonPackage):
"""Style preserving TOML library"""
homepage = "https://github.com/sdispater/tomlkit"
- url = "https://pypi.io/packages/source/t/tomlkit/tomlkit-0.7.0.tar.gz"
+ pypi = "tomlkit/tomlkit-0.7.0.tar.gz"
version('0.7.0', sha256='ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618')
diff --git a/var/spack/repos/builtin/packages/py-toolz/package.py b/var/spack/repos/builtin/packages/py-toolz/package.py
index 98aa585fc0..372513c4af 100644
--- a/var/spack/repos/builtin/packages/py-toolz/package.py
+++ b/var/spack/repos/builtin/packages/py-toolz/package.py
@@ -10,7 +10,7 @@ class PyToolz(PythonPackage):
"""A set of utility functions for iterators, functions, and dictionaries"""
homepage = "http://github.com/pytoolz/toolz/"
- url = "https://pypi.io/packages/source/t/toolz/toolz-0.9.0.tar.gz"
+ pypi = "toolz/toolz-0.9.0.tar.gz"
version('0.9.0', sha256='929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9')
diff --git a/var/spack/repos/builtin/packages/py-torchfile/package.py b/var/spack/repos/builtin/packages/py-torchfile/package.py
index e739c065b7..8db28496c6 100644
--- a/var/spack/repos/builtin/packages/py-torchfile/package.py
+++ b/var/spack/repos/builtin/packages/py-torchfile/package.py
@@ -13,7 +13,7 @@ class PyTorchfile(PythonPackage):
including torch.Tensors is preserved."""
homepage = "https://github.com/bshillingford/python-torchfile"
- url = "https://pypi.io/packages/source/t/torchfile/torchfile-0.1.0.tar.gz"
+ pypi = "torchfile/torchfile-0.1.0.tar.gz"
# license = "BSD-3-Clause"
version('0.1.0', sha256='a53dfe134b737845a9f2cb24fe0585317874f965932cebdb0439d13c8da4136e')
diff --git a/var/spack/repos/builtin/packages/py-torchsummary/package.py b/var/spack/repos/builtin/packages/py-torchsummary/package.py
index af1e39bcfb..9f7030a20f 100644
--- a/var/spack/repos/builtin/packages/py-torchsummary/package.py
+++ b/var/spack/repos/builtin/packages/py-torchsummary/package.py
@@ -12,7 +12,7 @@ class PyTorchsummary(PythonPackage):
print(your_model) in PyTorch."""
homepage = "https://github.com/sksq96/pytorch-summary"
- url = "https://pypi.io/packages/source/t/torchsummary/torchsummary-1.5.1.tar.gz"
+ pypi = "torchsummary/torchsummary-1.5.1.tar.gz"
version('1.5.1', sha256='981bf689e22e0cf7f95c746002f20a24ad26aa6b9d861134a14bc6ce92230590')
diff --git a/var/spack/repos/builtin/packages/py-torchtext/package.py b/var/spack/repos/builtin/packages/py-torchtext/package.py
index 6bcae3d1e9..7b38e6691e 100644
--- a/var/spack/repos/builtin/packages/py-torchtext/package.py
+++ b/var/spack/repos/builtin/packages/py-torchtext/package.py
@@ -8,7 +8,7 @@ class PyTorchtext(PythonPackage):
"""Text utilities and datasets for PyTorch."""
homepage = "https://github.com/pytorch/text"
- url = "https://pypi.io/packages/source/t/torchtext/torchtext-0.5.0.tar.gz"
+ pypi = "torchtext/torchtext-0.5.0.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-tox/package.py b/var/spack/repos/builtin/packages/py-tox/package.py
index 43b4c1e49c..eaa08f9fde 100644
--- a/var/spack/repos/builtin/packages/py-tox/package.py
+++ b/var/spack/repos/builtin/packages/py-tox/package.py
@@ -10,7 +10,7 @@ class PyTox(PythonPackage):
"""tox is a generic virtualenv management and test command line tool."""
homepage = "https://tox.readthedocs.org/"
- url = "https://pypi.io/packages/source/t/tox/tox-3.14.2.tar.gz"
+ pypi = "tox/tox-3.14.2.tar.gz"
version('3.14.2', sha256='7efd010a98339209f3a8292f02909b51c58417bfc6838ab7eca14cf90f96117a')
diff --git a/var/spack/repos/builtin/packages/py-tpot/package.py b/var/spack/repos/builtin/packages/py-tpot/package.py
index 56ad5a4a93..0a38a1fd60 100644
--- a/var/spack/repos/builtin/packages/py-tpot/package.py
+++ b/var/spack/repos/builtin/packages/py-tpot/package.py
@@ -13,7 +13,7 @@ class PyTpot(PythonPackage):
"""
homepage = "http://epistasislab.github.io/tpot/"
- url = "https://pypi.io/packages/source/t/tpot/TPOT-0.11.5.tar.gz"
+ pypi = "tpot/TPOT-0.11.5.tar.gz"
version('0.11.5', sha256='909be08b29165ce48de5e5d2e3fd73fee9aeeaf1030f2e0912ce0f0bd9c3d2f3')
diff --git a/var/spack/repos/builtin/packages/py-tqdm/package.py b/var/spack/repos/builtin/packages/py-tqdm/package.py
index 2daada6426..7ecc914087 100644
--- a/var/spack/repos/builtin/packages/py-tqdm/package.py
+++ b/var/spack/repos/builtin/packages/py-tqdm/package.py
@@ -10,7 +10,7 @@ class PyTqdm(PythonPackage):
"""A Fast, Extensible Progress Meter"""
homepage = "https://github.com/tqdm/tqdm"
- url = "https://pypi.io/packages/source/t/tqdm/tqdm-4.45.0.tar.gz"
+ pypi = "tqdm/tqdm-4.45.0.tar.gz"
version('4.45.0', sha256='00339634a22c10a7a22476ee946bbde2dbe48d042ded784e4d88e0236eca5d81')
version('4.36.1', sha256='abc25d0ce2397d070ef07d8c7e706aede7920da163c64997585d42d3537ece3d')
diff --git a/var/spack/repos/builtin/packages/py-traceback2/package.py b/var/spack/repos/builtin/packages/py-traceback2/package.py
index 4110732ce1..e3cca78ff7 100644
--- a/var/spack/repos/builtin/packages/py-traceback2/package.py
+++ b/var/spack/repos/builtin/packages/py-traceback2/package.py
@@ -10,7 +10,7 @@ class PyTraceback2(PythonPackage):
"""Backports of the traceback module"""
homepage = "https://github.com/testing-cabal/traceback2"
- url = "https://pypi.io/packages/source/t/traceback2/traceback2-1.4.0.tar.gz"
+ pypi = "traceback2/traceback2-1.4.0.tar.gz"
version('1.4.0', sha256='05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030')
diff --git a/var/spack/repos/builtin/packages/py-traitlets/package.py b/var/spack/repos/builtin/packages/py-traitlets/package.py
index 341664c37b..c8ea14a4f2 100644
--- a/var/spack/repos/builtin/packages/py-traitlets/package.py
+++ b/var/spack/repos/builtin/packages/py-traitlets/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyTraitlets(PythonPackage):
"""Traitlets Python config system"""
- homepage = "https://pypi.python.org/pypi/traitlets"
- url = "https://pypi.io/packages/source/t/traitlets/traitlets-5.0.4.tar.gz"
+ pypi = "traitlets/traitlets-5.0.4.tar.gz"
version('5.0.4', sha256='86c9351f94f95de9db8a04ad8e892da299a088a64fd283f9f6f18770ae5eae1b')
version('4.3.3', sha256='d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7')
diff --git a/var/spack/repos/builtin/packages/py-traits/package.py b/var/spack/repos/builtin/packages/py-traits/package.py
index 868e1de0a2..789ba7381f 100644
--- a/var/spack/repos/builtin/packages/py-traits/package.py
+++ b/var/spack/repos/builtin/packages/py-traits/package.py
@@ -8,7 +8,7 @@ class PyTraits(PythonPackage):
"""Explicitly typed attributes for Python."""
homepage = "https://docs.enthought.com/traits"
- url = "https://pypi.io/packages/source/t/traits/traits-6.0.0.tar.gz"
+ pypi = "traits/traits-6.0.0.tar.gz"
version('6.0.0', sha256='dbcd70166feca434130a1193284d5819ca72ffbc8dbce8deeecc0cebb41a3bfb')
diff --git a/var/spack/repos/builtin/packages/py-traitsui/package.py b/var/spack/repos/builtin/packages/py-traitsui/package.py
index f77e92cc4f..b451ab1c82 100644
--- a/var/spack/repos/builtin/packages/py-traitsui/package.py
+++ b/var/spack/repos/builtin/packages/py-traitsui/package.py
@@ -13,7 +13,7 @@ class PyTraitsui(PythonPackage):
the details of displaying them."""
homepage = "https://docs.enthought.com/traitsui"
- url = "https://pypi.io/packages/source/t/traitsui/traitsui-6.1.3.tar.gz"
+ pypi = "traitsui/traitsui-6.1.3.tar.gz"
version('6.1.3', sha256='48381763b181efc58eaf288431d1d92d028d0d97dfdd33eba7809aae8aef814f')
diff --git a/var/spack/repos/builtin/packages/py-transformers/package.py b/var/spack/repos/builtin/packages/py-transformers/package.py
index 0480ed06c2..efd35db50a 100644
--- a/var/spack/repos/builtin/packages/py-transformers/package.py
+++ b/var/spack/repos/builtin/packages/py-transformers/package.py
@@ -9,7 +9,7 @@ class PyTransformers(PythonPackage):
PyTorch"""
homepage = "https://github.com/huggingface/transformers"
- url = "https://pypi.io/packages/source/t/transformers/transformers-2.8.0.tar.gz"
+ pypi = "transformers/transformers-2.8.0.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-treehash/package.py b/var/spack/repos/builtin/packages/py-treehash/package.py
index 8925504b74..4b99b6262f 100644
--- a/var/spack/repos/builtin/packages/py-treehash/package.py
+++ b/var/spack/repos/builtin/packages/py-treehash/package.py
@@ -11,6 +11,6 @@ class PyTreehash(PythonPackage):
function) "tree" hash, as used by e.g. Amazon Glacier."""
homepage = "https://github.com/jdswinbank/treehash"
- url = "https://pypi.io/packages/source/t/treehash/TreeHash-1.0.2.tar.gz"
+ pypi = "treehash/TreeHash-1.0.2.tar.gz"
version('1.0.2', sha256='fefcadd6a1e8ba2808897d776d5ae8bdae56ec3fe90ed385c1322357269f27a4')
diff --git a/var/spack/repos/builtin/packages/py-twine/package.py b/var/spack/repos/builtin/packages/py-twine/package.py
index 46ca3ae9b8..7604db2b4c 100644
--- a/var/spack/repos/builtin/packages/py-twine/package.py
+++ b/var/spack/repos/builtin/packages/py-twine/package.py
@@ -10,7 +10,7 @@ class PyTwine(PythonPackage):
"""Twine is a utility for publishing Python packages on PyPI."""
homepage = "https://twine.readthedocs.io/"
- url = "https://pypi.io/packages/source/t/twine/twine-2.0.0.tar.gz"
+ pypi = "twine/twine-2.0.0.tar.gz"
version('2.0.0', sha256='9fe7091715c7576df166df8ef6654e61bada39571783f2fd415bdcba867c6993')
diff --git a/var/spack/repos/builtin/packages/py-twisted/package.py b/var/spack/repos/builtin/packages/py-twisted/package.py
index 52f3d4039f..409ae0bf15 100644
--- a/var/spack/repos/builtin/packages/py-twisted/package.py
+++ b/var/spack/repos/builtin/packages/py-twisted/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyTwisted(PythonPackage):
"""An asynchronous networking framework written in Python"""
homepage = "https://twistedmatrix.com/"
- url = "https://pypi.io/packages/source/T/Twisted/Twisted-15.3.0.tar.bz2"
+ pypi = "Twisted/Twisted-15.3.0.tar.bz2"
version('15.4.0', sha256='78862662fa9ae29654bc2b9d349c3f1d887e6b2ed978512c4442d53ea861f05c')
version('15.3.0', sha256='025729751cf898842262375a40f70ae1d246daea88369eab9f6bb96e528bf285')
diff --git a/var/spack/repos/builtin/packages/py-typed-ast/package.py b/var/spack/repos/builtin/packages/py-typed-ast/package.py
index ddbb6ff519..1ceff6a655 100644
--- a/var/spack/repos/builtin/packages/py-typed-ast/package.py
+++ b/var/spack/repos/builtin/packages/py-typed-ast/package.py
@@ -10,7 +10,7 @@ class PyTypedAst(PythonPackage):
"""A fork of Python 2 and 3 ast modules with type comment support."""
homepage = "https://github.com/python/typed_ast"
- url = "https://pypi.io/packages/source/t/typed-ast/typed_ast-1.4.0.tar.gz"
+ pypi = "typed-ast/typed_ast-1.4.0.tar.gz"
version('1.4.0', sha256='66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34')
diff --git a/var/spack/repos/builtin/packages/py-typing-extensions/package.py b/var/spack/repos/builtin/packages/py-typing-extensions/package.py
index 02376449f0..0e9a23a317 100644
--- a/var/spack/repos/builtin/packages/py-typing-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-typing-extensions/package.py
@@ -13,7 +13,7 @@ class PyTypingExtensions(PythonPackage):
details about protocols and static duck typing)."""
homepage = "https://github.com/python/typing/tree/master/typing_extensions"
- url = "https://pypi.io/packages/source/t/typing_extensions/typing_extensions-3.7.4.tar.gz"
+ pypi = "typing_extensions/typing_extensions-3.7.4.tar.gz"
version('3.7.4', sha256='2ed632b30bb54fc3941c382decfd0ee4148f5c591651c9272473fea2c6397d95')
version('3.7.2', sha256='fb2cd053238d33a8ec939190f30cfd736c00653a85a2919415cecf7dc3d9da71')
diff --git a/var/spack/repos/builtin/packages/py-typing/package.py b/var/spack/repos/builtin/packages/py-typing/package.py
index af7679b62b..febcbd63c6 100644
--- a/var/spack/repos/builtin/packages/py-typing/package.py
+++ b/var/spack/repos/builtin/packages/py-typing/package.py
@@ -11,7 +11,7 @@ class PyTyping(PythonPackage):
versions older than 3.6."""
homepage = "https://docs.python.org/3/library/typing.html"
- url = "https://pypi.io/packages/source/t/typing/typing-3.7.4.1.tar.gz"
+ pypi = "typing/typing-3.7.4.1.tar.gz"
version('3.7.4.1', sha256='91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23')
version('3.6.6', sha256='4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d')
diff --git a/var/spack/repos/builtin/packages/py-tzlocal/package.py b/var/spack/repos/builtin/packages/py-tzlocal/package.py
index 354653f7a5..9611166eee 100644
--- a/var/spack/repos/builtin/packages/py-tzlocal/package.py
+++ b/var/spack/repos/builtin/packages/py-tzlocal/package.py
@@ -10,7 +10,7 @@ class PyTzlocal(PythonPackage):
"""tzinfo object for the local timezone."""
homepage = "https://github.com/regebro/tzlocal"
- url = "https://pypi.io/packages/source/t/tzlocal/tzlocal-1.3.tar.gz"
+ pypi = "tzlocal/tzlocal-1.3.tar.gz"
version('2.0.0', sha256='949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590')
version('1.3', sha256='d160c2ce4f8b1831dabfe766bd844cf9012f766539cf84139c2faac5201882ce')
diff --git a/var/spack/repos/builtin/packages/py-ujson/package.py b/var/spack/repos/builtin/packages/py-ujson/package.py
index 45e9b280e8..44445d63f6 100644
--- a/var/spack/repos/builtin/packages/py-ujson/package.py
+++ b/var/spack/repos/builtin/packages/py-ujson/package.py
@@ -11,7 +11,7 @@ class PyUjson(PythonPackage):
bindings."""
homepage = "https://github.com/esnme/ultrajson"
- url = "https://pypi.io/packages/source/u/ujson/ujson-1.35.tar.gz"
+ pypi = "ujson/ujson-1.35.tar.gz"
version('1.35', sha256='f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86')
diff --git a/var/spack/repos/builtin/packages/py-umalqurra/package.py b/var/spack/repos/builtin/packages/py-umalqurra/package.py
index c96dd625a5..a4bac9e2bc 100644
--- a/var/spack/repos/builtin/packages/py-umalqurra/package.py
+++ b/var/spack/repos/builtin/packages/py-umalqurra/package.py
@@ -9,7 +9,7 @@ class PyUmalqurra(PythonPackage):
"""Date Api that support Hijri Umalqurra calendar."""
homepage = "https://github.com/tytkal/python-hijiri-ummalqura"
- url = "https://pypi.io/packages/source/u/umalqurra/umalqurra-0.2.tar.gz"
+ pypi = "umalqurra/umalqurra-0.2.tar.gz"
version('0.2', sha256='719f6a36f908ada1c29dae0d934dd0f1e1f6e3305784edbec23ad719397de678')
diff --git a/var/spack/repos/builtin/packages/py-uncertainties/package.py b/var/spack/repos/builtin/packages/py-uncertainties/package.py
index 67a9ee0cc5..aa7550e8f0 100644
--- a/var/spack/repos/builtin/packages/py-uncertainties/package.py
+++ b/var/spack/repos/builtin/packages/py-uncertainties/package.py
@@ -12,7 +12,7 @@ class PyUncertainties(PythonPackage):
"""
homepage = "https://uncertainties-python-package.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/u/uncertainties/uncertainties-3.1.4.tar.gz"
+ pypi = "uncertainties/uncertainties-3.1.4.tar.gz"
version('3.1.4', sha256='63548a94899f2a51eeb89b640f6ac311f481a8016b37dce157186e44619bc968')
diff --git a/var/spack/repos/builtin/packages/py-unidecode/package.py b/var/spack/repos/builtin/packages/py-unidecode/package.py
index c5acb2dc4c..aee0174c54 100644
--- a/var/spack/repos/builtin/packages/py-unidecode/package.py
+++ b/var/spack/repos/builtin/packages/py-unidecode/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyUnidecode(PythonPackage):
"""ASCII transliterations of Unicode text"""
- homepage = "https://pypi.org/project/Unidecode"
- url = "https://pypi.io/packages/source/u/unidecode/Unidecode-1.1.1.tar.gz"
+ pypi = "unidecode/Unidecode-1.1.1.tar.gz"
version('1.1.1', sha256='2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8')
version('0.04.21', sha256='280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051')
diff --git a/var/spack/repos/builtin/packages/py-unittest2/package.py b/var/spack/repos/builtin/packages/py-unittest2/package.py
index 1838843874..17996a6f93 100644
--- a/var/spack/repos/builtin/packages/py-unittest2/package.py
+++ b/var/spack/repos/builtin/packages/py-unittest2/package.py
@@ -10,8 +10,7 @@ class PyUnittest2(PythonPackage):
"""unittest2 is a backport of the new features added to the unittest
testing framework in Python 2.7 and onwards."""
- homepage = "https://pypi.python.org/pypi/unittest2"
- url = "https://pypi.io/packages/source/u/unittest2/unittest2-1.1.0.tar.gz"
+ pypi = "unittest2/unittest2-1.1.0.tar.gz"
version('1.1.0', sha256='22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579')
diff --git a/var/spack/repos/builtin/packages/py-unittest2py3k/package.py b/var/spack/repos/builtin/packages/py-unittest2py3k/package.py
index bf20186afd..052ea73cfc 100644
--- a/var/spack/repos/builtin/packages/py-unittest2py3k/package.py
+++ b/var/spack/repos/builtin/packages/py-unittest2py3k/package.py
@@ -11,8 +11,7 @@ class PyUnittest2py3k(PythonPackage):
testing framework in Python 2.7 and 3.2. This is a Python 3 compatible
version of unittest2."""
- homepage = "https://pypi.python.org/pypi/unittest2py3k"
- url = "https://pypi.io/packages/source/u/unittest2py3k/unittest2py3k-0.5.1.tar.gz"
+ pypi = "unittest2py3k/unittest2py3k-0.5.1.tar.gz"
version('0.5.1', sha256='78249c5f1ac508a34d9d131d43a89d77bf154186f3ea5f7a6b993d3f3535d403')
diff --git a/var/spack/repos/builtin/packages/py-update-checker/package.py b/var/spack/repos/builtin/packages/py-update-checker/package.py
index 8f65ee735b..2b1bd5114a 100644
--- a/var/spack/repos/builtin/packages/py-update-checker/package.py
+++ b/var/spack/repos/builtin/packages/py-update-checker/package.py
@@ -10,7 +10,7 @@ class PyUpdateChecker(PythonPackage):
"""A python module that will check for package updates."""
homepage = "https://github.com/bboe/update_checker"
- url = "https://pypi.io/packages/source/u/update_checker/update_checker-0.18.0.tar.gz"
+ pypi = "update_checker/update_checker-0.18.0.tar.gz"
version('0.18.0', sha256='6a2d45bb4ac585884a6b03f9eade9161cedd9e8111545141e9aa9058932acb13')
version('0.17', sha256='2def8db7f63bd45c7d19df5df570f3f3dfeb1a1f050869d7036529295db10e62')
diff --git a/var/spack/repos/builtin/packages/py-uritemplate/package.py b/var/spack/repos/builtin/packages/py-uritemplate/package.py
index 9b901e6a2f..af0631f4bd 100644
--- a/var/spack/repos/builtin/packages/py-uritemplate/package.py
+++ b/var/spack/repos/builtin/packages/py-uritemplate/package.py
@@ -10,7 +10,7 @@ class PyUritemplate(PythonPackage):
"""Simple python library to deal with URI Templates."""
homepage = "https://uritemplate.readthedocs.org/"
- url = "https://pypi.io/packages/source/u/uritemplate/uritemplate-3.0.0.tar.gz"
+ pypi = "uritemplate/uritemplate-3.0.0.tar.gz"
version('3.0.0', sha256='c02643cebe23fc8adb5e6becffe201185bf06c40bda5c0b4028a93f1527d011d')
diff --git a/var/spack/repos/builtin/packages/py-urllib3/package.py b/var/spack/repos/builtin/packages/py-urllib3/package.py
index 8a3b5aea58..80b4a9d6a6 100644
--- a/var/spack/repos/builtin/packages/py-urllib3/package.py
+++ b/var/spack/repos/builtin/packages/py-urllib3/package.py
@@ -11,7 +11,7 @@ class PyUrllib3(PythonPackage):
more."""
homepage = "https://urllib3.readthedocs.io/"
- url = "https://pypi.io/packages/source/u/urllib3/urllib3-1.25.6.tar.gz"
+ pypi = "urllib3/urllib3-1.25.6.tar.gz"
version('1.25.6', sha256='9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86')
version('1.25.3', sha256='dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232')
diff --git a/var/spack/repos/builtin/packages/py-urwid/package.py b/var/spack/repos/builtin/packages/py-urwid/package.py
index bf606f81b7..848d60b022 100644
--- a/var/spack/repos/builtin/packages/py-urwid/package.py
+++ b/var/spack/repos/builtin/packages/py-urwid/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyUrwid(PythonPackage):
"""A full-featured console UI library"""
homepage = "http://urwid.org/"
- url = "https://pypi.io/packages/source/u/urwid/urwid-1.3.0.tar.gz"
+ pypi = "urwid/urwid-1.3.0.tar.gz"
version('1.3.0', sha256='29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2')
diff --git a/var/spack/repos/builtin/packages/py-us/package.py b/var/spack/repos/builtin/packages/py-us/package.py
index 81ea11e9d8..b1117b238e 100644
--- a/var/spack/repos/builtin/packages/py-us/package.py
+++ b/var/spack/repos/builtin/packages/py-us/package.py
@@ -10,8 +10,7 @@ from spack import *
class PyUs(PythonPackage):
"""US state meta information and other fun stuff."""
- homepage = "https://pypi.org/project/us/"
- url = "https://pypi.io/packages/source/u/us/us-1.0.0.tar.gz"
+ pypi = "us/us-1.0.0.tar.gz"
version('1.0.0', sha256='09dc9ba763e2e4399e6a042104f3e415a7de6bfa4df6f557b4f19e3ba9a22fda')
diff --git a/var/spack/repos/builtin/packages/py-usgs/package.py b/var/spack/repos/builtin/packages/py-usgs/package.py
index ac6ee2c31f..057c825ca6 100644
--- a/var/spack/repos/builtin/packages/py-usgs/package.py
+++ b/var/spack/repos/builtin/packages/py-usgs/package.py
@@ -10,7 +10,7 @@ class PyUsgs(PythonPackage):
"""Client library for interfacing with USGS datasets"""
homepage = "https://github.com/kapadia/usgs"
- url = "https://pypi.io/packages/source/u/usgs/usgs-0.2.7.tar.gz"
+ pypi = "usgs/usgs-0.2.7.tar.gz"
maintainers = ['adamjstewart']
diff --git a/var/spack/repos/builtin/packages/py-uvloop/package.py b/var/spack/repos/builtin/packages/py-uvloop/package.py
index 52a7709640..0531adfcfa 100644
--- a/var/spack/repos/builtin/packages/py-uvloop/package.py
+++ b/var/spack/repos/builtin/packages/py-uvloop/package.py
@@ -10,7 +10,7 @@ class PyUvloop(PythonPackage):
"""uvloop is a fast, drop-in replacement of the built-in asyncio event"""
homepage = "http://github.com/MagicStack/uvloop"
- url = "https://pypi.io/packages/source/u/uvloop/uvloop-0.14.0.tar.gz"
+ pypi = "uvloop/uvloop-0.14.0.tar.gz"
version('0.14.0', sha256='123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e')
diff --git a/var/spack/repos/builtin/packages/py-uvw/package.py b/var/spack/repos/builtin/packages/py-uvw/package.py
index 0a87855fab..1c064b5fa7 100644
--- a/var/spack/repos/builtin/packages/py-uvw/package.py
+++ b/var/spack/repos/builtin/packages/py-uvw/package.py
@@ -13,7 +13,7 @@ class PyUvw(PythonPackage):
"""
homepage = "https://github.com/prs513rosewood/uvw"
- url = "https://pypi.io/packages/source/u/uvw/uvw-0.3.1.tar.gz"
+ pypi = "uvw/uvw-0.3.1.tar.gz"
maintainers = ['prs513rosewood']
diff --git a/var/spack/repos/builtin/packages/py-uwsgi/package.py b/var/spack/repos/builtin/packages/py-uwsgi/package.py
index fdc990d48d..5668e387ed 100644
--- a/var/spack/repos/builtin/packages/py-uwsgi/package.py
+++ b/var/spack/repos/builtin/packages/py-uwsgi/package.py
@@ -11,7 +11,7 @@ class PyUwsgi(PythonPackage):
"""Web Application framework for low overhead web services"""
homepage = "https://github.com/unbit/uwsgi/"
- url = "https://pypi.io/packages/source/u/uwsgi/uwsgi-2.0.18.tar.gz"
+ pypi = "uwsgi/uwsgi-2.0.18.tar.gz"
version('2.0.18', sha256='4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583')
diff --git a/var/spack/repos/builtin/packages/py-vcstool/package.py b/var/spack/repos/builtin/packages/py-vcstool/package.py
index e0844742ba..c3bf2cfa68 100644
--- a/var/spack/repos/builtin/packages/py-vcstool/package.py
+++ b/var/spack/repos/builtin/packages/py-vcstool/package.py
@@ -10,7 +10,7 @@ class PyVcstool(PythonPackage):
Currently it supports git, hg, svn and bzr."""
homepage = "https://github.com/dirk-thomas/vcstool"
- url = "https://pypi.io/packages/source/v/vcstool/vcstool-0.2.15.tar.gz"
+ pypi = "vcstool/vcstool-0.2.15.tar.gz"
version('0.2.15', sha256='b1fce6fcef7b117b245a72dc8658a128635749d01dc7e9d1316490f89f9c2fde')
diff --git a/var/spack/repos/builtin/packages/py-vcstools/package.py b/var/spack/repos/builtin/packages/py-vcstools/package.py
index 13d1146abd..3ee4413512 100644
--- a/var/spack/repos/builtin/packages/py-vcstools/package.py
+++ b/var/spack/repos/builtin/packages/py-vcstools/package.py
@@ -8,7 +8,7 @@ class PyVcstools(PythonPackage):
"""VCS/SCM source control library for svn, git, hg, and bzr."""
homepage = "https://wiki.ros.org/vcstools"
- url = "https://pypi.io/packages/source/v/vcstools/vcstools-0.1.42.tar.gz"
+ pypi = "vcstools/vcstools-0.1.42.tar.gz"
version('0.1.42', sha256='9e48d8ed8b0fdda739af56e05bf10da1a509cb7d4950a19c73264c770802777a')
diff --git a/var/spack/repos/builtin/packages/py-vcversioner/package.py b/var/spack/repos/builtin/packages/py-vcversioner/package.py
index 7feda4a213..4f6e2d61bd 100644
--- a/var/spack/repos/builtin/packages/py-vcversioner/package.py
+++ b/var/spack/repos/builtin/packages/py-vcversioner/package.py
@@ -10,7 +10,7 @@ class PyVcversioner(PythonPackage):
"""Vcversioner: Take version numbers from version control."""
homepage = "https://github.com/habnabit/vcversioner"
- url = "https://pypi.io/packages/source/v/vcversioner/vcversioner-2.16.0.0.tar.gz"
+ pypi = "vcversioner/vcversioner-2.16.0.0.tar.gz"
version('2.16.0.0', sha256='dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b')
diff --git a/var/spack/repos/builtin/packages/py-vine/package.py b/var/spack/repos/builtin/packages/py-vine/package.py
index 415276611c..c16c77891c 100644
--- a/var/spack/repos/builtin/packages/py-vine/package.py
+++ b/var/spack/repos/builtin/packages/py-vine/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyVine(PythonPackage):
"""Promises, promises, promises."""
- homepage = "https://pypi.org/project/vine/"
- url = "https://pypi.io/packages/source/v/vine/vine-1.2.0.tar.gz"
+ pypi = "vine/vine-1.2.0.tar.gz"
version('5.0.0', sha256='7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e')
version('1.3.0', sha256='133ee6d7a9016f177ddeaf191c1f58421a1dcc6ee9a42c58b34bed40e1d2cd87')
diff --git a/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py b/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
index 287a4152dc..e0ba88a206 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
@@ -10,7 +10,7 @@ class PyVirtualenvClone(PythonPackage):
"""A script for cloning a non-relocatable virtualenv."""
homepage = "https://github.com/edwardgeorge/virtualenv-clone"
- url = "https://pypi.io/packages/source/v/virtualenv-clone/virtualenv-clone-0.2.6.tar.gz"
+ pypi = "virtualenv-clone/virtualenv-clone-0.2.6.tar.gz"
version('0.2.6', sha256='6b3be5cab59e455f08c9eda573d23006b7d6fb41fae974ddaa2b275c93cc4405')
diff --git a/var/spack/repos/builtin/packages/py-virtualenv/package.py b/var/spack/repos/builtin/packages/py-virtualenv/package.py
index 3a1c593023..5eb2e5d6e2 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv/package.py
@@ -10,7 +10,7 @@ class PyVirtualenv(PythonPackage):
"""virtualenv is a tool to create isolated Python environments."""
homepage = "https://virtualenv.pypa.io/"
- url = "https://pypi.io/packages/source/v/virtualenv/virtualenv-16.7.6.tar.gz"
+ pypi = "virtualenv/virtualenv-16.7.6.tar.gz"
version('16.7.6', sha256='5d370508bf32e522d79096e8cbea3499d47e624ac7e11e9089f9397a0b3318df')
version('16.4.1', sha256='5a3ecdfbde67a4a3b3111301c4d64a5b71cf862c8c42958d30cf3253df1f29dd')
diff --git a/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py b/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
index 235761f58a..bd99e8c0ba 100644
--- a/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
@@ -14,7 +14,7 @@ class PyVirtualenvwrapper(PythonPackage):
without introducing conflicts in their dependencies."""
homepage = "https://bitbucket.org/virtualenvwrapper/virtualenvwrapper.git"
- url = "https://pypi.io/packages/source/v/virtualenvwrapper/virtualenvwrapper-4.8.2.tar.gz"
+ pypi = "virtualenvwrapper/virtualenvwrapper-4.8.2.tar.gz"
version('4.8.2', sha256='18d8e4c500c4c4ee794f704e050cf2bbb492537532a4521d1047e7dd1ee4e374')
diff --git a/var/spack/repos/builtin/packages/py-visdom/package.py b/var/spack/repos/builtin/packages/py-visdom/package.py
index b6bd808346..095542422a 100644
--- a/var/spack/repos/builtin/packages/py-visdom/package.py
+++ b/var/spack/repos/builtin/packages/py-visdom/package.py
@@ -12,7 +12,7 @@ class PyVisdom(PythonPackage):
experimentation."""
homepage = "https://github.com/facebookresearch/visdom"
- url = "https://pypi.io/packages/source/v/visdom/visdom-0.1.8.9.tar.gz"
+ pypi = "visdom/visdom-0.1.8.9.tar.gz"
version('0.1.8.9', sha256='c73ad23723c24a48156899f78dd76bd4538eba3edf9120b6c65a9528fa677126')
diff --git a/var/spack/repos/builtin/packages/py-voluptuous/package.py b/var/spack/repos/builtin/packages/py-voluptuous/package.py
index 1d497d8ea2..f5292081b3 100644
--- a/var/spack/repos/builtin/packages/py-voluptuous/package.py
+++ b/var/spack/repos/builtin/packages/py-voluptuous/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyVoluptuous(PythonPackage):
"""Voluptous, despite the name, is a Python data validation library."""
homepage = "https://github.com/alecthomas/voluptuous"
- url = "https://pypi.io/packages/source/v/voluptuous/voluptuous-0.11.5.tar.gz"
+ pypi = "voluptuous/voluptuous-0.11.5.tar.gz"
version('0.11.7', sha256='2abc341dbc740c5e2302c7f9b8e2e243194fb4772585b991931cb5b22e9bf456')
version('0.11.6', sha256='d2ca99ae1d1ed0313e8965720d1d75a780fc7f312fea4e3dbbb56ccfe5a8306d')
diff --git a/var/spack/repos/builtin/packages/py-vsc-base/package.py b/var/spack/repos/builtin/packages/py-vsc-base/package.py
index 159eace26d..528564cf56 100644
--- a/var/spack/repos/builtin/packages/py-vsc-base/package.py
+++ b/var/spack/repos/builtin/packages/py-vsc-base/package.py
@@ -10,7 +10,7 @@ class PyVscBase(PythonPackage):
"""Common Python libraries tools created by HPC-UGent"""
homepage = 'https://github.com/hpcugent/vsc-base/'
- url = 'https://pypi.io/packages/source/v/vsc-base/vsc-base-2.5.8.tar.gz'
+ pypi = 'vsc-base/vsc-base-2.5.8.tar.gz'
version('2.5.8', sha256='7fcd300f842edf4baade7d0b7a3b462ca7dfb2a411a7532694a90127c6646ee2')
diff --git a/var/spack/repos/builtin/packages/py-vsc-install/package.py b/var/spack/repos/builtin/packages/py-vsc-install/package.py
index fb0e2135d5..8c03b3751d 100644
--- a/var/spack/repos/builtin/packages/py-vsc-install/package.py
+++ b/var/spack/repos/builtin/packages/py-vsc-install/package.py
@@ -12,7 +12,7 @@ class PyVscInstall(PythonPackage):
"""
homepage = 'https://github.com/hpcugent/vsc-install/'
- url = 'https://pypi.io/packages/source/v/vsc-install/vsc-install-0.10.25.tar.gz'
+ pypi = 'vsc-install/vsc-install-0.10.25.tar.gz'
version('0.10.25', sha256='744fa52b45577251d94e9298ecb115afd295f2530eba64c524f469b5e283f19c')
diff --git a/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py b/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
index 0e44620e69..aad4653366 100644
--- a/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
+++ b/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
@@ -8,7 +8,7 @@ class PyVstsCdManager(PythonPackage):
"""Python wrapper around some of the VSTS APIs."""
homepage = "https://github.com/microsoft/vsts-cd-manager"
- url = "https://pypi.io/packages/source/v/vsts-cd-manager/vsts-cd-manager-1.0.2.tar.gz"
+ pypi = "vsts-cd-manager/vsts-cd-manager-1.0.2.tar.gz"
version('1.0.2', sha256='0bb09059cd553e1c206e92ef324cb0dcf92334846d646c44c684f6256b86447b')
diff --git a/var/spack/repos/builtin/packages/py-vsts/package.py b/var/spack/repos/builtin/packages/py-vsts/package.py
index ed597e3cbd..1128e1a7be 100644
--- a/var/spack/repos/builtin/packages/py-vsts/package.py
+++ b/var/spack/repos/builtin/packages/py-vsts/package.py
@@ -8,7 +8,7 @@ class PyVsts(PythonPackage):
"""Python wrapper around the VSTS APIs."""
homepage = "https://github.com/Microsoft/vsts-python-api"
- url = "https://pypi.io/packages/source/v/vsts/vsts-0.1.25.tar.gz"
+ pypi = "vsts/vsts-0.1.25.tar.gz"
version('0.1.25', sha256='da179160121f5b38be061dbff29cd2b60d5d029b2207102454d77a7114e64f97')
diff --git a/var/spack/repos/builtin/packages/py-wand/package.py b/var/spack/repos/builtin/packages/py-wand/package.py
index 95fab4eeae..deaf2bf621 100644
--- a/var/spack/repos/builtin/packages/py-wand/package.py
+++ b/var/spack/repos/builtin/packages/py-wand/package.py
@@ -11,7 +11,7 @@ class PyWand(PythonPackage):
"""
homepage = "http://docs.wand-py.org"
- url = "https://pypi.io/packages/source/W/Wand/Wand-0.5.6.tar.gz"
+ pypi = "Wand/Wand-0.5.6.tar.gz"
version('0.5.6', sha256='d06b59f36454024ce952488956319eb542d5dc65f1e1b00fead71df94dbfcf88')
version('0.4.2', sha256='a0ded99a9824ddd82617a4b449164e2c5c93853aaff96f9e0bab8b405d62ca7c')
diff --git a/var/spack/repos/builtin/packages/py-wasabi/package.py b/var/spack/repos/builtin/packages/py-wasabi/package.py
index 2e3939b582..43c1e908aa 100644
--- a/var/spack/repos/builtin/packages/py-wasabi/package.py
+++ b/var/spack/repos/builtin/packages/py-wasabi/package.py
@@ -8,7 +8,7 @@ class PyWasabi(PythonPackage):
"""wasabi: A lightweight console printing and formatting toolkit."""
homepage = "https://ines.io/"
- url = "https://pypi.io/packages/source/w/wasabi/wasabi-0.6.0.tar.gz"
+ pypi = "wasabi/wasabi-0.6.0.tar.gz"
version('0.6.0', sha256='b8dd3e963cd693fde1eb6bfbecf51790171aa3534fa299faf35cf269f2fd6063')
diff --git a/var/spack/repos/builtin/packages/py-wcwidth/package.py b/var/spack/repos/builtin/packages/py-wcwidth/package.py
index 150ad6793c..0b627375da 100644
--- a/var/spack/repos/builtin/packages/py-wcwidth/package.py
+++ b/var/spack/repos/builtin/packages/py-wcwidth/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyWcwidth(PythonPackage):
"""Measures number of Terminal column cells of wide-character codes"""
- homepage = "https://pypi.python.org/pypi/wcwidth"
- url = "https://pypi.io/packages/source/w/wcwidth/wcwidth-0.1.7.tar.gz"
+ pypi = "wcwidth/wcwidth-0.1.7.tar.gz"
version('0.1.7', sha256='3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e')
diff --git a/var/spack/repos/builtin/packages/py-weave/package.py b/var/spack/repos/builtin/packages/py-weave/package.py
index bb45340d84..22871eb391 100644
--- a/var/spack/repos/builtin/packages/py-weave/package.py
+++ b/var/spack/repos/builtin/packages/py-weave/package.py
@@ -15,7 +15,7 @@ class PyWeave(PythonPackage):
``scipy.weave``. For new code, users are recommended to use Cython."""
homepage = "https://www.github.com/scipy/weave"
- url = "https://pypi.io/packages/source/w/weave/weave-0.17.0.tar.gz"
+ pypi = "weave/weave-0.17.0.tar.gz"
version('0.17.0', sha256='2703f3ae6d23ad47b5f09b6bcb7affd0fb587120a0c973e7be40ef24de709998')
diff --git a/var/spack/repos/builtin/packages/py-webencodings/package.py b/var/spack/repos/builtin/packages/py-webencodings/package.py
index fd65a0655d..4e6960f3e1 100644
--- a/var/spack/repos/builtin/packages/py-webencodings/package.py
+++ b/var/spack/repos/builtin/packages/py-webencodings/package.py
@@ -10,7 +10,7 @@ class PyWebencodings(PythonPackage):
"""This is a Python implementation of the WHATWG Encoding standard."""
homepage = "https://github.com/gsnedders/python-webencodings"
- url = "https://pypi.io/packages/source/w/webencodings/webencodings-0.5.1.tar.gz"
+ pypi = "webencodings/webencodings-0.5.1.tar.gz"
version('0.5.1', sha256='b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923')
diff --git a/var/spack/repos/builtin/packages/py-webkit-server/package.py b/var/spack/repos/builtin/packages/py-webkit-server/package.py
index c3aebca85e..e5d2b5a50f 100644
--- a/var/spack/repos/builtin/packages/py-webkit-server/package.py
+++ b/var/spack/repos/builtin/packages/py-webkit-server/package.py
@@ -10,7 +10,7 @@ class PyWebkitServer(PythonPackage):
"""a Webkit-based, headless web client"""
homepage = "https://github.com/niklasb/webkit-server"
- url = "https://pypi.io/packages/source/w/webkit-server/webkit-server-1.0.tar.gz"
+ pypi = "webkit-server/webkit-server-1.0.tar.gz"
git = "https://github.com/niklasb/webkit-server.git"
version('develop', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-weblogo/package.py b/var/spack/repos/builtin/packages/py-weblogo/package.py
index d48fb5b381..ce9c03516c 100644
--- a/var/spack/repos/builtin/packages/py-weblogo/package.py
+++ b/var/spack/repos/builtin/packages/py-weblogo/package.py
@@ -11,7 +11,7 @@ class PyWeblogo(PythonPackage):
sequence logos as easy and painless as possible."""
homepage = "http://weblogo.threeplusone.com"
- url = "https://pypi.io/packages/source/w/weblogo/weblogo-3.6.0.tar.gz"
+ pypi = "weblogo/weblogo-3.6.0.tar.gz"
version('3.6.0', sha256='af5a9f065581f18d71bd7c22b160c1e443932f22cab992d439d3dc8757c80a85')
diff --git a/var/spack/repos/builtin/packages/py-websocket-client/package.py b/var/spack/repos/builtin/packages/py-websocket-client/package.py
index c55df5e899..1e45182cdd 100644
--- a/var/spack/repos/builtin/packages/py-websocket-client/package.py
+++ b/var/spack/repos/builtin/packages/py-websocket-client/package.py
@@ -8,7 +8,7 @@ class PyWebsocketClient(PythonPackage):
"""WebSocket client for Python. hybi13 is supported."""
homepage = "https://github.com/websocket-client/websocket-client.git"
- url = "https://pypi.io/packages/source/w/websocket_client/websocket_client-0.57.0.tar.gz"
+ pypi = "websocket_client/websocket_client-0.57.0.tar.gz"
version('0.57.0', sha256='d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010')
version('0.56.0', sha256='1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a')
diff --git a/var/spack/repos/builtin/packages/py-werkzeug/package.py b/var/spack/repos/builtin/packages/py-werkzeug/package.py
index 6119a118ac..9860d85fcd 100644
--- a/var/spack/repos/builtin/packages/py-werkzeug/package.py
+++ b/var/spack/repos/builtin/packages/py-werkzeug/package.py
@@ -10,7 +10,7 @@ class PyWerkzeug(PythonPackage):
"""The Swiss Army knife of Python web development"""
homepage = "http://werkzeug.pocoo.org"
- url = "https://pypi.io/packages/source/W/Werkzeug/Werkzeug-0.16.0.tar.gz"
+ pypi = "Werkzeug/Werkzeug-0.16.0.tar.gz"
version('0.16.0', sha256='7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7')
version('0.15.4', sha256='a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6')
diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py
index 1209d6a283..e428070d63 100644
--- a/var/spack/repos/builtin/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin/packages/py-wheel/package.py
@@ -10,7 +10,7 @@ class PyWheel(PythonPackage):
"""A built-package format for Python."""
homepage = "https://github.com/pypa/wheel"
- url = "https://pypi.io/packages/source/w/wheel/wheel-0.34.2.tar.gz"
+ pypi = "wheel/wheel-0.34.2.tar.gz"
version('0.34.2', sha256='8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96')
version('0.33.4', sha256='62fcfa03d45b5b722539ccbc07b190e4bfff4bb9e3a4d470dd9f6a0981002565')
diff --git a/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py b/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
index 347641a8da..ae28fff12b 100644
--- a/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
+++ b/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyWidgetsnbextension(PythonPackage):
"""IPython HTML widgets for Jupyter"""
- homepage = "https://pypi.python.org/pypi/widgetsnbextension"
- url = "https://pypi.io/packages/source/w/widgetsnbextension/widgetsnbextension-1.2.6.tar.gz"
+ pypi = "widgetsnbextension/widgetsnbextension-1.2.6.tar.gz"
version('3.5.1', sha256='079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7')
version('3.4.2', sha256='fa618be8435447a017fd1bf2c7ae922d0428056cfc7449f7a8641edf76b48265')
diff --git a/var/spack/repos/builtin/packages/py-wradlib/package.py b/var/spack/repos/builtin/packages/py-wradlib/package.py
index 14ae8b347a..589dbaee1d 100644
--- a/var/spack/repos/builtin/packages/py-wradlib/package.py
+++ b/var/spack/repos/builtin/packages/py-wradlib/package.py
@@ -14,7 +14,7 @@ class PyWradlib(PythonPackage):
attenuation) and visualising the data."""
homepage = "https://docs.wradlib.org"
- url = "https://pypi.io/packages/source/w/wradlib/wradlib-1.5.0.tar.gz"
+ pypi = "wradlib/wradlib-1.5.0.tar.gz"
version('1.5.0', sha256='9bf0742d7235ea830e83c2269f6b5d1afd83d92696efce0a7bcdb0c4f6604784')
diff --git a/var/spack/repos/builtin/packages/py-wrapt/package.py b/var/spack/repos/builtin/packages/py-wrapt/package.py
index bc2a4ae804..3b5883c50b 100644
--- a/var/spack/repos/builtin/packages/py-wrapt/package.py
+++ b/var/spack/repos/builtin/packages/py-wrapt/package.py
@@ -10,7 +10,7 @@ class PyWrapt(PythonPackage):
"""Module for decorators, wrappers and monkey patching."""
homepage = "https://github.com/GrahamDumpleton/wrapt"
- url = "https://pypi.io/packages/source/w/wrapt/wrapt-1.11.2.tar.gz"
+ pypi = "wrapt/wrapt-1.11.2.tar.gz"
version('1.11.2', sha256='565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1')
version('1.11.1', sha256='4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533')
diff --git a/var/spack/repos/builtin/packages/py-wstool/package.py b/var/spack/repos/builtin/packages/py-wstool/package.py
index 2f73bcce65..1e25f88026 100644
--- a/var/spack/repos/builtin/packages/py-wstool/package.py
+++ b/var/spack/repos/builtin/packages/py-wstool/package.py
@@ -9,7 +9,7 @@ class PyWstool(PythonPackage):
repositories."""
homepage = "https://wiki.ros.org/wstool"
- url = "https://pypi.io/packages/source/w/wstool/wstool-0.1.17.tar.gz"
+ pypi = "wstool/wstool-0.1.17.tar.gz"
version('0.1.17', sha256='c79b4f110ef17004c24972d742d2c5f606b0f6b424295e7ed029a48e857de237')
diff --git a/var/spack/repos/builtin/packages/py-wxmplot/package.py b/var/spack/repos/builtin/packages/py-wxmplot/package.py
index 7b39f323c6..6ae52a18f8 100644
--- a/var/spack/repos/builtin/packages/py-wxmplot/package.py
+++ b/var/spack/repos/builtin/packages/py-wxmplot/package.py
@@ -10,7 +10,7 @@ class PyWxmplot(PythonPackage):
"""wxPython plotting widgets using matplotlib."""
homepage = "https://newville.github.io/wxmplot/"
- url = "https://pypi.io/packages/source/w/wxmplot/wxmplot-0.9.38.tar.gz"
+ pypi = "wxmplot/wxmplot-0.9.38.tar.gz"
version('0.9.38', sha256='82dc64abb42bdd03ec7067a3aa2a475001f2bc8e4772149bae47facf460c0081')
diff --git a/var/spack/repos/builtin/packages/py-wxpython/package.py b/var/spack/repos/builtin/packages/py-wxpython/package.py
index 53c30684d2..f373db40f3 100644
--- a/var/spack/repos/builtin/packages/py-wxpython/package.py
+++ b/var/spack/repos/builtin/packages/py-wxpython/package.py
@@ -10,7 +10,7 @@ class PyWxpython(PythonPackage):
"""Cross platform GUI toolkit for Python."""
homepage = "https://www.wxpython.org/"
- url = "https://pypi.io/packages/source/w/wxPython/wxPython-4.0.6.tar.gz"
+ pypi = "wxPython/wxPython-4.0.6.tar.gz"
version('4.0.6', sha256='35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37')
diff --git a/var/spack/repos/builtin/packages/py-xarray/package.py b/var/spack/repos/builtin/packages/py-xarray/package.py
index 6615247e5c..c5c3877429 100644
--- a/var/spack/repos/builtin/packages/py-xarray/package.py
+++ b/var/spack/repos/builtin/packages/py-xarray/package.py
@@ -10,7 +10,7 @@ class PyXarray(PythonPackage):
"""N-D labeled arrays and datasets in Python"""
homepage = "https://github.com/pydata/xarray"
- url = "https://pypi.io/packages/source/x/xarray/xarray-0.9.1.tar.gz"
+ pypi = "xarray/xarray-0.9.1.tar.gz"
version('0.14.0', sha256='a8b93e1b0af27fa7de199a2d36933f1f5acc9854783646b0f1b37fed9b4da091')
version('0.13.0', sha256='80e5746ffdebb96b997dba0430ff02d98028ef3828e6db6106cbbd6d62e32825')
diff --git a/var/spack/repos/builtin/packages/py-xattr/package.py b/var/spack/repos/builtin/packages/py-xattr/package.py
index 8375fa8c09..7507416815 100644
--- a/var/spack/repos/builtin/packages/py-xattr/package.py
+++ b/var/spack/repos/builtin/packages/py-xattr/package.py
@@ -10,7 +10,7 @@ class PyXattr(PythonPackage):
"""
homepage = "http://pyxattr.k1024.org/"
- url = "https://pypi.io/packages/source/x/xattr/xattr-0.9.6.tar.gz"
+ pypi = "xattr/xattr-0.9.6.tar.gz"
git = "https://github.com/iustin/pyxattr.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-xdot/package.py b/var/spack/repos/builtin/packages/py-xdot/package.py
index 684df310d9..05826a617e 100644
--- a/var/spack/repos/builtin/packages/py-xdot/package.py
+++ b/var/spack/repos/builtin/packages/py-xdot/package.py
@@ -11,7 +11,7 @@ class PyXdot(PythonPackage):
dot language."""
homepage = "https://github.com/jrfonseca/xdot.py"
- url = "https://pypi.io/packages/source/x/xdot/xdot-1.0.tar.gz"
+ pypi = "xdot/xdot-1.0.tar.gz"
git = "https://github.com/jrfonseca/xdot.py.git"
version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-xenv/package.py b/var/spack/repos/builtin/packages/py-xenv/package.py
index 1ccda61959..2a2d4427de 100644
--- a/var/spack/repos/builtin/packages/py-xenv/package.py
+++ b/var/spack/repos/builtin/packages/py-xenv/package.py
@@ -10,7 +10,7 @@ class PyXenv(PythonPackage):
"""Helpers to work with the environment in a platform independent way."""
homepage = "https://gitlab.cern.ch/gaudi/xenv"
- url = "https://pypi.io/packages/source/x/xenv/xenv-1.0.0.tar.gz"
+ pypi = "xenv/xenv-1.0.0.tar.gz"
git = "https://gitlab.cern.ch/gaudi/xenv.git"
version('develop', branch='master')
diff --git a/var/spack/repos/builtin/packages/py-xlrd/package.py b/var/spack/repos/builtin/packages/py-xlrd/package.py
index ae155a964d..a74270983f 100644
--- a/var/spack/repos/builtin/packages/py-xlrd/package.py
+++ b/var/spack/repos/builtin/packages/py-xlrd/package.py
@@ -11,6 +11,6 @@ class PyXlrd(PythonPackage):
spreadsheet files"""
homepage = 'http://www.python-excel.org/'
- url = "https://pypi.io/packages/source/x/xlrd/xlrd-0.9.4.tar.gz"
+ pypi = "xlrd/xlrd-0.9.4.tar.gz"
version('0.9.4', sha256='8e8d3359f39541a6ff937f4030db54864836a06e42988c452db5b6b86d29ea72')
diff --git a/var/spack/repos/builtin/packages/py-xlsxwriter/package.py b/var/spack/repos/builtin/packages/py-xlsxwriter/package.py
index 6989800313..3bcc45d498 100644
--- a/var/spack/repos/builtin/packages/py-xlsxwriter/package.py
+++ b/var/spack/repos/builtin/packages/py-xlsxwriter/package.py
@@ -10,7 +10,6 @@ class PyXlsxwriter(PythonPackage):
"""XlsxWriter is a Python module for writing files in the Excel 2007+ XLSX
file format."""
- homepage = "https://pypi.python.org/pypi/XlsxWriter"
- url = "https://pypi.io/packages/source/X/XlsxWriter/XlsxWriter-1.0.2.tar.gz"
+ pypi = "XlsxWriter/XlsxWriter-1.0.2.tar.gz"
version('1.0.2', sha256='a26bbbafff88abffce592ffd5dfaa4c9f08dc44ef4afbf45c70d3e270325f856')
diff --git a/var/spack/repos/builtin/packages/py-xlwt/package.py b/var/spack/repos/builtin/packages/py-xlwt/package.py
index 981f3e5df7..40b15cea56 100644
--- a/var/spack/repos/builtin/packages/py-xlwt/package.py
+++ b/var/spack/repos/builtin/packages/py-xlwt/package.py
@@ -12,8 +12,7 @@ class PyXlwt(PythonPackage):
MS Excel 97/2000/XP/2003 XLS files, on any platform,
with Python 2.6, 2.7, 3.3+."""
- homepage = "https://pypi.org/project/xlwt/"
- url = "https://pypi.io/packages/source/x/xlwt/xlwt-1.3.0.tar.gz"
+ pypi = "xlwt/xlwt-1.3.0.tar.gz"
version('1.3.0', sha256='c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88')
diff --git a/var/spack/repos/builtin/packages/py-xmlrunner/package.py b/var/spack/repos/builtin/packages/py-xmlrunner/package.py
index c6e7f3a21f..878d06ad1b 100644
--- a/var/spack/repos/builtin/packages/py-xmlrunner/package.py
+++ b/var/spack/repos/builtin/packages/py-xmlrunner/package.py
@@ -10,7 +10,7 @@ class PyXmlrunner(PythonPackage):
"""PyUnit-based test runner with JUnit like XML reporting."""
homepage = "https://github.com/pycontribs/xmlrunner"
- url = "https://pypi.io/packages/source/x/xmlrunner/xmlrunner-1.7.7.tar.gz"
+ pypi = "xmlrunner/xmlrunner-1.7.7.tar.gz"
version('1.7.7', sha256='5a6113d049eca7646111ee657266966e5bbfb0b5ceb2e83ee0772e16d7110f39')
diff --git a/var/spack/repos/builtin/packages/py-xmltodict/package.py b/var/spack/repos/builtin/packages/py-xmltodict/package.py
index 49a3fd4bd8..28c5ef1a63 100644
--- a/var/spack/repos/builtin/packages/py-xmltodict/package.py
+++ b/var/spack/repos/builtin/packages/py-xmltodict/package.py
@@ -11,7 +11,7 @@ class PyXmltodict(PythonPackage):
you are working with JSON."""
homepage = "https://github.com/martinblech/xmltodict"
- url = "https://pypi.io/packages/source/x/xmltodict/xmltodict-0.12.0.tar.gz"
+ pypi = "xmltodict/xmltodict-0.12.0.tar.gz"
version('0.12.0', sha256='50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21')
diff --git a/var/spack/repos/builtin/packages/py-xopen/package.py b/var/spack/repos/builtin/packages/py-xopen/package.py
index c9986eb16c..db6b8f472e 100644
--- a/var/spack/repos/builtin/packages/py-xopen/package.py
+++ b/var/spack/repos/builtin/packages/py-xopen/package.py
@@ -13,7 +13,7 @@ class PyXopen(PythonPackage):
recognized by their file extensions .gz, .bz2 or .xz."""
homepage = "https://github.com/marcelm/xopen"
- url = "https://pypi.io/packages/source/x/xopen/xopen-0.1.1.tar.gz"
+ pypi = "xopen/xopen-0.1.1.tar.gz"
version('1.0.1', sha256='79d7e425fb0930b0153eb6beba9a540ca3e07ac254ca828577ad2e8fa24105dc')
version('0.9.0', sha256='1e3918c8a5cd2bd128ba05b3b883ee322349219c99c305e10114638478e3162a')
diff --git a/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py b/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py
index 766432857c..c410e57825 100644
--- a/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py
+++ b/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyXvfbwrapper(PythonPackage):
"""run headless display inside X virtual framebuffer (Xvfb)"""
- homepage = "https://pypi.python.org/pypi/xvfbwrapper/0.2.9"
- url = "https://pypi.io/packages/source/x/xvfbwrapper/xvfbwrapper-0.2.9.tar.gz"
+ pypi = "xvfbwrapper/xvfbwrapper-0.2.9.tar.gz"
version('0.2.9', sha256='bcf4ae571941b40254faf7a73432dfc119ad21ce688f1fdec533067037ecfc24')
diff --git a/var/spack/repos/builtin/packages/py-yahmm/package.py b/var/spack/repos/builtin/packages/py-yahmm/package.py
index d63ba0e6ee..5b1beb95a3 100644
--- a/var/spack/repos/builtin/packages/py-yahmm/package.py
+++ b/var/spack/repos/builtin/packages/py-yahmm/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyYahmm(PythonPackage):
"""YAHMM is a HMM package for Python, implemented in Cython for speed."""
- homepage = "http://pypi.python.org/pypi/yahmm/"
- url = "https://pypi.io/packages/source/y/yahmm/yahmm-1.1.3.zip"
+ pypi = "yahmm/yahmm-1.1.3.zip"
version('1.1.3', sha256='fe3614ef96da9410468976756fb93dc8235485242c05df01d8e5ed356a7dfb43')
diff --git a/var/spack/repos/builtin/packages/py-yajl/package.py b/var/spack/repos/builtin/packages/py-yajl/package.py
index b6e95ff8e8..4301084ef2 100644
--- a/var/spack/repos/builtin/packages/py-yajl/package.py
+++ b/var/spack/repos/builtin/packages/py-yajl/package.py
@@ -10,7 +10,7 @@ class PyYajl(PythonPackage):
"""Python bindings for the Yajl JSON encoder/decoder library."""
homepage = "https://github.com/rtyler/py-yajl"
- url = "https://pypi.io/packages/source/y/yajl/yajl-0.3.5.tar.gz"
+ pypi = "yajl/yajl-0.3.5.tar.gz"
version('0.3.5', sha256='432321ea613692a4782a2368a300f57b59c64a3c8508c7465af3fdc045e7bcc2')
diff --git a/var/spack/repos/builtin/packages/py-yamlreader/package.py b/var/spack/repos/builtin/packages/py-yamlreader/package.py
index 2a11c38345..97da09e509 100644
--- a/var/spack/repos/builtin/packages/py-yamlreader/package.py
+++ b/var/spack/repos/builtin/packages/py-yamlreader/package.py
@@ -11,7 +11,7 @@ class PyYamlreader(PythonPackage):
file glob."""
homepage = "http://pyyaml.org/wiki/PyYAML"
- url = "https://pypi.io/packages/source/y/yamlreader/yamlreader-3.0.4.tar.gz"
+ pypi = "yamlreader/yamlreader-3.0.4.tar.gz"
version('3.0.4', sha256='765688036d57104ac26e4500ab088d42f4f2d06687ce3daa26543d7ae38c2470')
diff --git a/var/spack/repos/builtin/packages/py-yolk3k/package.py b/var/spack/repos/builtin/packages/py-yolk3k/package.py
index d744f93f94..b4b42987e4 100644
--- a/var/spack/repos/builtin/packages/py-yolk3k/package.py
+++ b/var/spack/repos/builtin/packages/py-yolk3k/package.py
@@ -13,7 +13,7 @@ class PyYolk3k(PythonPackage):
adds additional features."""
homepage = "https://github.com/myint/yolk"
- url = "https://pypi.io/packages/source/y/yolk3k/yolk3k-0.9.tar.gz"
+ pypi = "yolk3k/yolk3k-0.9.tar.gz"
version('0.9', sha256='cf8731dd0a9f7ef50b5dc253fe0174383e3fed295a653672aa918c059eef86ae')
diff --git a/var/spack/repos/builtin/packages/py-youtube-dl/package.py b/var/spack/repos/builtin/packages/py-youtube-dl/package.py
index 48fdf7dea7..28b3beeb34 100644
--- a/var/spack/repos/builtin/packages/py-youtube-dl/package.py
+++ b/var/spack/repos/builtin/packages/py-youtube-dl/package.py
@@ -11,7 +11,7 @@ class PyYoutubeDl(PythonPackage):
sites."""
homepage = "https://github.com/ytdl-org/youtube-dl"
- url = "https://pypi.io/packages/source/y/youtube_dl/youtube_dl-2020.3.24.tar.gz"
+ pypi = "youtube_dl/youtube_dl-2020.3.24.tar.gz"
version('2020.3.24', sha256='4b03efe439f7cae26eba909821d1df00a9a4eb82741cb2e8b78fe29702bd4633')
diff --git a/var/spack/repos/builtin/packages/py-zarr/package.py b/var/spack/repos/builtin/packages/py-zarr/package.py
index 0e1dbbeaae..60572a9270 100644
--- a/var/spack/repos/builtin/packages/py-zarr/package.py
+++ b/var/spack/repos/builtin/packages/py-zarr/package.py
@@ -11,7 +11,7 @@ class PyZarr(PythonPackage):
compressed, N-dimensional arrays."""
homepage = "https://zarr.readthedocs.io"
- url = "https://pypi.io/packages/source/z/zarr/zarr-2.3.2.tar.gz"
+ pypi = "zarr/zarr-2.3.2.tar.gz"
version('2.3.2', sha256='c62d0158fb287151c978904935a177b3d2d318dea3057cfbeac8541915dfa105')
diff --git a/var/spack/repos/builtin/packages/py-zc-buildout/package.py b/var/spack/repos/builtin/packages/py-zc-buildout/package.py
index 6aa1938369..a63b760a95 100644
--- a/var/spack/repos/builtin/packages/py-zc-buildout/package.py
+++ b/var/spack/repos/builtin/packages/py-zc-buildout/package.py
@@ -10,7 +10,7 @@ class PyZcBuildout(PythonPackage):
"""System for managing development buildouts"""
homepage = "http://buildout.org/"
- url = "https://pypi.io/packages/source/z/zc.buildout/zc.buildout-2.13.1.tar.gz"
+ pypi = "zc.buildout/zc.buildout-2.13.1.tar.gz"
version('2.13.1', sha256='3d14d07226963a517295dfad5879d2799e2e3b65b2c61c71b53cb80f5ab11484')
diff --git a/var/spack/repos/builtin/packages/py-zc-lockfile/package.py b/var/spack/repos/builtin/packages/py-zc-lockfile/package.py
index 707448e813..ebe0ff8162 100644
--- a/var/spack/repos/builtin/packages/py-zc-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-zc-lockfile/package.py
@@ -9,8 +9,7 @@ from spack import *
class PyZcLockfile(PythonPackage):
"""Basic inter-process locks"""
- homepage = "https://www.python.org/pypi/zc.lockfile"
- url = "https://pypi.io/packages/source/z/zc.lockfile/zc.lockfile-1.4.tar.gz"
+ pypi = "zc.lockfile/zc.lockfile-1.4.tar.gz"
version('1.4', sha256='95a8e3846937ab2991b61703d6e0251d5abb9604e18412e2714e1b90db173253')
diff --git a/var/spack/repos/builtin/packages/py-zict/package.py b/var/spack/repos/builtin/packages/py-zict/package.py
index 5830be23cf..1ae967b7db 100644
--- a/var/spack/repos/builtin/packages/py-zict/package.py
+++ b/var/spack/repos/builtin/packages/py-zict/package.py
@@ -10,7 +10,7 @@ class PyZict(PythonPackage):
"""Mutable mapping tools"""
homepage = "http://zict.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/z/zict/zict-1.0.0.tar.gz"
+ pypi = "zict/zict-1.0.0.tar.gz"
version('1.0.0', sha256='e34dd25ea97def518fb4c77f2c27078f3a7d6c965b0a3ac8fe5bdb0a8011a310')
diff --git a/var/spack/repos/builtin/packages/py-zipp/package.py b/var/spack/repos/builtin/packages/py-zipp/package.py
index 424062ee6e..fffcb8377a 100644
--- a/var/spack/repos/builtin/packages/py-zipp/package.py
+++ b/var/spack/repos/builtin/packages/py-zipp/package.py
@@ -10,7 +10,7 @@ class PyZipp(PythonPackage):
"""Backport of pathlib-compatible object wrapper for zip files."""
homepage = "https://github.com/jaraco/zipp"
- url = "https://pypi.io/packages/source/z/zipp/zipp-0.6.0.tar.gz"
+ pypi = "zipp/zipp-0.6.0.tar.gz"
version('0.6.0', sha256='3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e')
version('0.5.1', sha256='ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3')
diff --git a/var/spack/repos/builtin/packages/py-zope-event/package.py b/var/spack/repos/builtin/packages/py-zope-event/package.py
index 177992a9ef..98e6c746d0 100644
--- a/var/spack/repos/builtin/packages/py-zope-event/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-event/package.py
@@ -10,7 +10,7 @@ class PyZopeEvent(PythonPackage):
"""Very basic event publishing system."""
homepage = "http://github.com/zopefoundation/zope.event"
- url = "https://pypi.io/packages/source/z/zope.event/zope.event-4.3.0.tar.gz"
+ pypi = "zope.event/zope.event-4.3.0.tar.gz"
version('4.3.0', sha256='e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7')
diff --git a/var/spack/repos/builtin/packages/py-zope-interface/package.py b/var/spack/repos/builtin/packages/py-zope-interface/package.py
index 4ce3314175..ef92bca5e9 100644
--- a/var/spack/repos/builtin/packages/py-zope-interface/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-interface/package.py
@@ -13,7 +13,7 @@ class PyZopeInterface(PythonPackage):
of the Design By Contract methodology support in Python."""
homepage = "https://github.com/zopefoundation/zope.interface"
- url = "https://pypi.io/packages/source/z/zope.interface/zope.interface-4.5.0.tar.gz"
+ pypi = "zope.interface/zope.interface-4.5.0.tar.gz"
version('5.1.0', sha256='40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e')
version('4.5.0', sha256='57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c')
diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py
index b4505385e6..32c907bc46 100644
--- a/var/spack/repos/builtin/packages/scons/package.py
+++ b/var/spack/repos/builtin/packages/scons/package.py
@@ -10,7 +10,7 @@ class Scons(PythonPackage):
"""SCons is a software construction tool"""
homepage = "http://scons.org"
- url = "https://pypi.io/packages/source/s/scons/scons-3.1.1.tar.gz"
+ pypi = "scons/scons-3.1.1.tar.gz"
version('3.1.2', sha256='8aaa483c303efeb678e6f7c776c8444a482f8ddc3ad891f8b6cdd35264da9a1f')
version('3.1.1', sha256='fd44f8f2a4562e7e5bc8c63c82b01e469e8115805a3e9c2923ee54cdcd6678b3')
diff --git a/var/spack/repos/builtin/packages/snakemake/package.py b/var/spack/repos/builtin/packages/snakemake/package.py
index 2b670192b0..042edc223f 100644
--- a/var/spack/repos/builtin/packages/snakemake/package.py
+++ b/var/spack/repos/builtin/packages/snakemake/package.py
@@ -10,7 +10,7 @@ class Snakemake(PythonPackage):
"""Snakemake is an MIT-licensed workflow management system."""
homepage = "https://snakemake.readthedocs.io/en/stable/"
- url = "https://pypi.io/packages/source/s/snakemake/snakemake-3.11.2.tar.gz"
+ pypi = "snakemake/snakemake-3.11.2.tar.gz"
version('3.11.2', sha256='f7a3b586bc2195f2dce4a4817b7ec828b6d2a0cff74a04e0f7566dcd923f9761')
diff --git a/var/spack/repos/builtin/packages/tskit/package.py b/var/spack/repos/builtin/packages/tskit/package.py
index 387405259c..59db2446d7 100644
--- a/var/spack/repos/builtin/packages/tskit/package.py
+++ b/var/spack/repos/builtin/packages/tskit/package.py
@@ -11,7 +11,7 @@ class Tskit(PythonPackage):
examine, and manipulate tree sequences"""
homepage = "https://tskit.readthedocs.io/en/latest/"
- url = "https://pypi.io/packages/source/t/tskit/tskit-0.3.1.tar.gz"
+ pypi = "tskit/tskit-0.3.1.tar.gz"
version('0.3.1', sha256='b9c5a9b2fb62a615e389036946345ef8a35b09f1ffee541995b16f97fedb3d36')