Merge f1c665d73b2d9b118850532dc4d6a1bfb5574742 into b3d0b4443baf5da952f3135bd017ff1e60e654bb

This commit is contained in:
Michael Wurm 2025-05-08 11:50:45 +00:00 committed by GitHub
commit 389e99607b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 226 additions and 234 deletions

58
pipreqs/lint_mapping.sh Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/bash
# ------------------------------------------------------------------------------
# Author : Michael Wurm <wurm.michael95@gmail.com>
# Description : Formats mapping to lowercase and removes duplicate
# entries from the mappings file.
# ------------------------------------------------------------------------------
# Script setup
SCRIPT_PATH=$(cd -- "$(dirname -- "$(readlink -f "${BASH_SOURCE[0]}" || ${BASH_SOURCE[0]})")" &>/dev/null && pwd)
cd "$SCRIPT_PATH"
set -euo pipefail
# Functions
convert_file_to_lowercase() {
FILE_MIXED=mapping
FILE_LOWER=mapping.new
tr '[:upper:]' '[:lower:]' <$FILE_MIXED >$FILE_LOWER
mv $FILE_LOWER $FILE_MIXED
echo "Converted entire file to lowercase"
}
filter_duplicates() {
# Loop through the original file line by line.
# Write each line into a new file.
# Skip lines with a duplicate mapping, i.e. abc:abc
MAPPING_OLD="$SCRIPT_PATH/mapping"
MAPPING_NEW="$SCRIPT_PATH/mapping.new"
i=0
found=0
while IFS= read -r line; do
((i = i + 1))
mapelements=($(echo "$line" | tr ':' '\n'))
if [ "${mapelements[0]}" == "${mapelements[1]}" ]; then
echo "Found a duplicate mapping in line #$i: '$line'"
((found = found + 1))
continue
fi
echo "$line" >>"$MAPPING_NEW"
done <"$MAPPING_OLD"
echo "---"
mv "$MAPPING_NEW" "$MAPPING_OLD"
echo "Removed $found duplicates."
}
main() {
convert_file_to_lowercase
filter_duplicates
}
main

View File

@ -1,52 +1,50 @@
AFQ:pyAFQ
AG_fft_tools:agpy
ANSI:pexpect
Adafruit:Adafruit_Libraries
App:Zope2
Asterisk:py_Asterisk
BB_jekyll_hook:bitbucket_jekyll_hook
Banzai:Banzai_NGS
BeautifulSoupTests:BeautifulSoup
BioSQL:biopython
BuildbotStatusShields:BuildbotEightStatusShields
ComputedAttribute:ExtensionClass
afq:pyafq
ag_fft_tools:agpy
ansi:pexpect
adafruit:adafruit_libraries
app:zope2
asterisk:py_asterisk
bb_jekyll_hook:bitbucket_jekyll_hook
banzai:banzai_ngs
beautifulsouptests:beautifulsoup
biosql:biopython
buildbotstatusshields:buildboteightstatusshields
computedattribute:extensionclass
constraint:python-constraint
Crypto:pycryptodome
Cryptodome:pycryptodomex
FSM:pexpect
FiftyOneDegrees:51degrees_mobile_detector_v3_wrapper
crypto:pycryptodome
cryptodome:pycryptodomex
fsm:pexpect
fiftyonedegrees:51degrees_mobile_detector_v3_wrapper
functional:pyfunctional
GeoBaseMain:GeoBasesDev
GeoBases:GeoBasesDev
Globals:Zope2
HelpSys:Zope2
IPython:ipython
Kittens:astro_kittens
Levenshtein:python_Levenshtein
Lifetime:Zope2
MethodObject:ExtensionClass
MySQLdb:MySQL-python
OFS:Zope2
OpenGL:PyOpenGL
OpenSSL:pyOpenSSL
PIL:Pillow
Products:Zope2
PyWCSTools:astLib
Pyxides:astro_pyxis
QtCore:PySide
S3:s3cmd
SCons:pystick
speech_recognition:SpeechRecognition
Shared:Zope2
Signals:Zope2
Stemmer:PyStemmer
Testing:Zope2
TopZooTools:topzootools
TreeDisplay:DocumentTemplate
WorkingWithDocumentConversion:aspose_pdf_java_for_python
ZPublisher:Zope2
ZServer:Zope2
ZTUtils:Zope2
geobasemain:geobasesdev
geobases:geobasesdev
globals:zope2
helpsys:zope2
kittens:astro_kittens
levenshtein:python_levenshtein
lifetime:zope2
methodobject:extensionclass
mysqldb:mysql-python
ofs:zope2
opengl:pyopengl
openssl:pyopenssl
pil:pillow
products:zope2
pywcstools:astlib
pyxides:astro_pyxis
qtcore:pyside
s3:s3cmd
scons:pystick
speech_recognition:speechrecognition
shared:zope2
signals:zope2
stemmer:pystemmer
testing:zope2
treedisplay:documenttemplate
workingwithdocumentconversion:aspose_pdf_java_for_python
zpublisher:zope2
zserver:zope2
ztutils:zope2
aadb:auto_adjust_display_brightness
abakaffe:abakaffe_cli
abiosgaming:abiosgaming.py
@ -59,15 +57,15 @@ abo:abo_generator
abris_transform:abris
abstract:abstract.jwrotator
abu:abu.admin
ac_flask:AC_Flask_HipChat
ac_flask:ac_flask_hipchat
acg:anikom15
acme:acme.dchat
acme:acme.hello
acted:acted.projects
action:ActionServer
action:actionserver
actionbar:actionbar.panel
activehomed:afn
activepapers:ActivePapers.Py
activepapers:activepapers.py
address_book:address_book_lansry
adi:adi.commons
adi:adi.devgen
@ -78,19 +76,19 @@ adi:adi.samplecontent
adi:adi.slickstyle
adi:adi.suite
adi:adi.trash
adict:aDict2
adict:adict2
aditam:aditam.agent
aditam:aditam.core
adiumsh:adium_sh
adjector:AdjectorClient
adjector:AdjectorTracPlugin
adkit:Banner_Ad_Toolkit
adjector:adjectorclient
adjector:adjectortracplugin
adkit:banner_ad_toolkit
admin_tools:django_admin_tools
adminishcategories:adminish_categories
adminsortable:django_admin_sortable
adspygoogle:adspygoogle.adwords
advancedcaching:agtl
adytum:Adytum_PyMonitor
adytum:adytum_pymonitor
affinitic:affinitic.docpyflakes
affinitic:affinitic.recipe.fakezope2eggs
affinitic:affinitic.simplecookiecuttr
@ -100,11 +98,11 @@ afpy:afpy.xap
agatesql:agate_sql
ageliaco:ageliaco.recipe.csvconfig
agent_http:agent.http
agora:Agora_Client
agora:Agora_Fountain
agora:Agora_Fragment
agora:Agora_Planner
agora:Agora_Service_Provider
agora:agora_client
agora:agora_fountain
agora:agora_fragment
agora:agora_planner
agora:agora_service_provider
agoraplex:agoraplex.themes.sphinx
agsci:agsci.blognewsletter
agx:agx.core
@ -142,7 +140,7 @@ alchemist:alchemist.traversal
alchemist:alchemist.ui
alchemyapi:alchemyapi_python
alerta:alerta_server
alexandria_upload:Alexandria_Upload_Utils
alexandria_upload:alexandria_upload_utils
alibaba:alibaba_python_sdk
aliyun:aliyun_python_sdk
aliyuncli:alicloudcli
@ -172,7 +170,7 @@ aliyunsdkslb:aliyun_python_sdk_slb
aliyunsdksts:aliyun_python_sdk_sts
aliyunsdkubsms:aliyun_python_sdk_ubsms
aliyunsdkyundun:aliyun_python_sdk_yundun
allattachments:AllAttachmentsMacro
allattachments:allattachmentsmacro
allocine:allocine_wrapper
allowedsites:django_allowedsites
alm:alm.solrindex
@ -188,29 +186,29 @@ alurinium:alurinium_image_processing
alxlib:alx
amara3:amara3_iri
amara3:amara3_xml
amazon:AmazonAPIWrapper
amazon:amazonapiwrapper
amazon:python_amazon_simple_product_api
ambikesh1349-1:ambikesh1349_1
ambilight:AmbilightParty
ambilight:ambilightparty
amifs:amifs_core
amiorganizer:ami_organizer
amitu:amitu.lipy
amitu:amitu_putils
amitu:amitu_websocket_client
amitu:amitu_zutils
amltlearn:AMLT_learn
amltlearn:amlt_learn
amocrm:amocrm_api
amqpdispatcher:amqp_dispatcher
amqpstorm:AMQP_Storm
amqpstorm:amqp_storm
analytics:analytics_python
analyzedir:AnalyzeDirectory
analyzedir:analyzedirectory
ancientsolutions:ancientsolutions_crypttools
anderson_paginator:anderson.paginator
android_clean_app:android_resource_remover
anel_power_control:AnelPowerControl
anel_power_control:anelpowercontrol
angus:angus_sdk_python
annalist_root:Annalist
annogesiclib:ANNOgesic
annalist_root:annalist
annogesiclib:annogesic
ansible-role-apply:ansible_role_apply
ansibledebugger:ansible_playbook_debugger
ansibledocgen:ansible_docgen
@ -222,9 +220,9 @@ ansibletools:ansible_tools
anthill:anthill.exampletheme
anthill:anthill.skinner
anthill:anthill.tal.macrorenderer
anthrax:AnthraxDojoFrontend
anthrax:AnthraxHTMLInput
anthrax:AnthraxImage
anthrax:anthraxdojofrontend
anthrax:anthraxhtmlinput
anthrax:anthraximage
antisphinx:antiweb
antispoofing:antispoofing.evaluation
antlr4:antlr4_python2_runtime
@ -241,15 +239,15 @@ apitools:google_apitools
apm:arpm
app_data:django_appdata
appconf:django_appconf
appd:AppDynamicsDownloader
appd:AppDynamicsREST
appd:appdynamicsdownloader
appd:appdynamicsrest
appdynamics_bindeps:appdynamics_bindeps_linux_x64
appdynamics_bindeps:appdynamics_bindeps_linux_x86
appdynamics_bindeps:appdynamics_bindeps_osx_x64
appdynamics_proxysupport:appdynamics_proxysupport_linux_x64
appdynamics_proxysupport:appdynamics_proxysupport_linux_x86
appdynamics_proxysupport:appdynamics_proxysupport_osx_x64
appium:Appium_Python_Client
appium:appium_python_client
appliapps:applibase
appserver:broadwick
archetypes:archetypes.kss
@ -277,9 +275,9 @@ artifactcli:artifact_cli
arvados:arvados_python_client
arvados_cwl:arvados_cwl_runner
arvnodeman:arvados_node_manager
asana_to_github:AsanaToGithub
asciibinary:AsciiBinaryConverter
asd:AdvancedSearchDiscovery
asana_to_github:asanatogithub
asciibinary:asciibinaryconverter
asd:advancedsearchdiscovery
askbot:askbot_tuan
askbot:askbot_tuanpa
asnhistory:asnhistory_redis
@ -301,7 +299,7 @@ athletelist:athletelistyy
atm:automium
atmosphere:atmosphere_python_client
atom:gdata
atomic:AtomicWrite
atomic:atomicwrite
atomisator:atomisator.db
atomisator:atomisator.enhancers
atomisator:atomisator.feed
@ -335,9 +333,9 @@ aufrefer:auf_refer
auslfe:auslfe.formonline.content
auspost:auspost_apis
auth0:auth0_python
auth_server_client:AuthServerClient
authorize:AuthorizeSauce
authzpolicy:AuthzPolicyPlugin
auth_server_client:authserverclient
authorize:authorizesauce
authzpolicy:authzpolicyplugin
autobahn:autobahn_rce
avatar:geonode_avatar
awebview:android_webview
@ -368,8 +366,7 @@ b3j0f:b3j0f.aop
b3j0f:b3j0f.conf
b3j0f:b3j0f.sync
b3j0f:b3j0f.utils
babel:Babel
babelglade:BabelGladeExtractor
babelglade:babelgladeextractor
backplane:backplane2_pyclient
backport_abcoll:backport_collections
backports:backports.functools_lru_cache
@ -381,7 +378,7 @@ backports:backports.ssl
backports:backports.ssl_match_hostname
backports:backports.statistics
badgekit:badgekit_api_client
badlinks:BadLinksPlugin
badlinks:badlinksplugin
bael:bael.project
baidu:baidupy
balrog:buildtools
@ -406,29 +403,27 @@ bambu:bambu_payments
bambu:bambu_pusher
bambu:bambu_saas
bambu:bambu_sites
banana:Bananas
banana:bananas
banana:banana.maya
bang:bangtext
barcode:barcode_generator
bark:bark_ssg
barking_owl:BarkingOwl
barking_owl:barkingowl
bart:bart_py
basalt:basalt_tasks
base62:base_62
basemap:basemap_Jim
basemap:basemap_jim
bash:bash_toolbelt
bashutils:Python_Bash_Utils
basic_http:BasicHttp
bashutils:python_bash_utils
basic_http:basichttp
basil:basil_daq
batchapps:azure_batch_apps
bcrypt:python_bcrypt
beaker:Beaker
beetsplug:beets
begin:begins
benchit:bench_it
beproud:beproud.utils
bfillings:burrito_fillings
bigjob:BigJob
billboard:billboard.py
binstar_build_client:anaconda_build
binstar_client:anaconda_client
@ -438,7 +433,7 @@ birdhousebuilder:birdhousebuilder.recipe.docker
birdhousebuilder:birdhousebuilder.recipe.redis
birdhousebuilder:birdhousebuilder.recipe.supervisor
blender26-meshio:pymeshio
bootstrap:BigJob
bootstrap:bigjob
borg:borg.localrole
bow:bagofwords
bpdb:bpython
@ -450,7 +445,6 @@ brkt_requests:brkt_sdk
broadcastlogging:broadcast_logging
brocadetool:brocade_tool
bronto:bronto_python
brownie:Brownie
browsermobproxy:browsermob_proxy
brubeckmysql:brubeck_mysql
brubeckoauth:brubeck_oauth
@ -481,8 +475,8 @@ bugle:bugle_sites
bugspots:bug_spots
bugzilla:python_bugzilla
bugzscout:bugzscout_py
buildTools:ajk_ios_buildTools
buildnotifylib:BuildNotify
buildtools:ajk_ios_buildtools
buildnotifylib:buildnotify
buildout:buildout.bootstrap
buildout:buildout.disablessl
buildout:buildout.dumppickedversions
@ -515,8 +509,8 @@ buttercms-django:buttercms_django
buzz:buzz_python_client
bvc:buildout_versions_checker
bvggrabber:bvg_grabber
byond:BYONDTools
bzETL:Bugzilla_ETL
byond:byondtools
bzetl:bugzilla_etl
bzlib:bugzillatools
bzrlib:bzr
bzrlib:bzr_automirror
@ -537,19 +531,15 @@ cabalgata:cabalgata_silla_de_montar
cabalgata:cabalgata_zookeeper
cache_utils:django_cache_utils
captcha:django_recaptcha
cartridge:Cartridge
cassandra:cassandra_driver
cassandralauncher:CassandraLauncher
cc42:42qucc
cerberus:Cerberus
cfnlint:cfn-lint
chameleon:Chameleon
charmtools:charm_tools
chef:PyChef
chef:pychef
chip8:c8d
cjson:python_cjson
classytags:django_classy_tags
cloghandler:ConcurrentLogHandler
cloghandler:concurrentloghandler
clonevirtualenv:virtualenv_clone
cloud-insight:al_cloudinsight
cloud_admin:adminapi
@ -563,19 +553,15 @@ compile:bf_lc3
compose:docker_compose
compressor:django_compressor
concurrent:futures
configargparse:ConfigArgParse
configparser:pies2overrides
contracts:PyContracts
coordination:BigJob
contracts:pycontracts
coordination:bigjob
copyreg:pies2overrides
corebio:weblogo
couchapp:Couchapp
couchdb:CouchDB
couchdbcurl:couchdb_python_curl
courseradownloader:coursera_dl
cow:cow_framework
creole:python_creole
creoleparser:Creoleparser
crispy_forms:django_crispy_forms
cronlog:python_crontab
crontab:python_crontab
@ -585,24 +571,20 @@ curator:elasticsearch_curator
curl:pycurl
cv2:opencv-python
daemon:python_daemon
dare:DARE
dateutil:python_dateutil
dawg:DAWG
deb822:python_debian
debian:python_debian
decouple:python-decouple
demo:webunit
demosongs:PySynth
demosongs:pysynth
deployer:juju_deployer
depot:filedepot
devtools:tg.devtools
dgis:2gis
dhtmlparser:pyDHTMLParser
dhtmlparser:pydhtmlparser
digitalocean:python_digitalocean
discord:discord.py
distribute_setup:ez_setup
distutils2:Distutils2
django:Django
django_hstore:amitu_hstore
djangobower:django_bower
djcelery:django_celery
@ -627,7 +609,6 @@ editor:python_editor
elasticluster:azure_elasticluster
elasticluster:azure_elasticluster_current
elftools:pyelftools
elixir:Elixir
em:empy
emlib:empy
enchant:pyenchant
@ -640,9 +621,7 @@ esplot:beaker_es_plot
example:adrest
examples:tweepy
ez_setup:pycassa
fabfile:Fabric
fabric:Fabric
faker:Faker
fabfile:fabric
fdpexpect:pexpect
fedora:python_fedora
fias:ailove_django_fias
@ -653,14 +632,12 @@ five:five.intid
five:five.localsitemanager
five:five.pt
flasher:android_flasher
flask:Flask
flask_frozen:Frozen_Flask
flask_redis:Flask_And_Redis
flaskext:Flask_Bcrypt
flask_frozen:frozen_flask
flask_redis:flask_and_redis
flaskext:flask_bcrypt
flvscreen:vnc2flv
followit:django_followit
forge:pyforge
formencode:FormEncode
formtools:django_formtools
fourch:4ch
franz:allegrordf
@ -669,20 +646,16 @@ frontmatter:python_frontmatter
ftpcloudfs:ftp_cloudfs
funtests:librabbitmq
fuse:fusepy
fuzzy:Fuzzy
gabbi:tiddlyweb
gen_3dwallet:3d_wallet_generator
gendimen:android_gendimen
genshi:Genshi
geohash:python_geohash
geonode:GeoNode
geoserver:gsconfig
geraldo:Geraldo
getenv:django_getenv
geventwebsocket:gevent_websocket
gflags:python_gflags
git:GitPython
github:PyGithub
git:gitpython
github:pygithub
github3:github3.py
gitpy:git_py
globusonline:globusonline_transfer_api_client
@ -695,52 +668,47 @@ greplin:scales
gridfs:pymongo
grokcore:grokcore.component
gslib:gsutil
hamcrest:PyHamcrest
harpy:HARPy
hawk:PyHawk_with_a_single_extra_commit
hamcrest:pyhamcrest
hawk:pyhawk_with_a_single_extra_commit
haystack:django_haystack
hgext:mercurial
hggit:hg_git
hglib:python_hglib
ho:pisa
hola:amarokHola
hoover:Hoover
hola:amarokhola
hostlist:python_hostlist
html:pies2overrides
htmloutput:nosehtmloutput
http:pies2overrides
hvad:django_hvad
hydra:hydra-core
i99fix:199Fix
i99fix:199fix
igraph:python_igraph
imdb:IMDbPY
imdb:imdbpy
impala:impyla
inmemorystorage:ambition_inmemorystorage
ipaddress:backport_ipaddress
jaraco:jaraco.timing
jaraco:jaraco.util
jinja2:Jinja2
jiracli:jira_cli
johnny:johnny_cache
jose:python_jose
jpgrid:python_geohash
jpiarea:python_geohash
jpype:JPype1
jpypex:JPype1
jpype:jpype1
jpypex:jpype1
jsonfield:django_jsonfield
jstools:aino_jstools
jupyterpip:jupyter_pip
jwt:PyJWT
jwt:pyjwt
kazoo:asana_kazoo
kernprof:line_profiler
keyczar:python_keyczar
keyedcache:django_keyedcache
keystoneclient:python_keystoneclient
kickstarter:kickstart
krbv:krbV
kss:kss.core
kuyruk:Kuyruk
langconv:AdvancedLangConv
langconv:advancedlangconv
lava:lava_utils_interface
lazr:lazr.authentication
lazr:lazr.restfulclient
@ -751,43 +719,38 @@ ldapurl:python_ldap
ldif:python_ldap
lib2or3:2or3
lib3to2:3to2
libaito:Aito
libaito:aito
libbe:bugs_everywhere
libbucket:bucket
libcloud:apache_libcloud
libfuturize:future
libgenerateDS:generateDS
libgenerateds:generateds
libmproxy:mitmproxy
libpasteurize:future
libsvm:7lk_ocr_deploy
lisa:lisa_server
loadingandsaving:aspose_words_java_for_python
locust:locustio
logbook:Logbook
logentries:buildbot_status_logentries
logilab:logilab_mtconverter
machineconsole:cerebrod
machinesitter:cerebrod
magic:python_magic
mako:Mako
manifestparser:ManifestDestiny
manifestparser:manifestdestiny
marionette:marionette_client
markdown:Markdown
marks:pytest_marks
markupsafe:MarkupSafe
mavnative:pymavlink
memcache:python_memcached
metacomm:AllPairs
metaphone:Metafone
metacomm:allpairs
metaphone:metafone
metlog:metlog_py
mezzanine:Mezzanine
migrate:sqlalchemy_migrate
mimeparse:python_mimeparse
minitage:minitage.paste
minitage:minitage.recipe.common
missingdrawables:android_missingdrawables
mixfiles:PySynth
mkfreq:PySynth
mixfiles:pysynth
mkfreq:pysynth
mkrst_themes:2lazy2rest
mockredis:mockredispy
modargs:python_modargs
@ -798,10 +761,6 @@ moksha:moksha.common
moksha:moksha.hub
moksha:moksha.wsgi
moneyed:py_moneyed
mongoalchemy:MongoAlchemy
monthdelta:MonthDelta
mopidy:Mopidy
mopytools:MoPyTools
mptt:django_mptt
mpv:python-mpv
mrbob:mr.bob
@ -813,14 +772,13 @@ native_tags:django_native_tags
ndg:ndg_httpsclient
nereid:trytond_nereid
nested:baojinhuan
nester:Amauri
nester:amauri
nester:abofly
nester:bssm_pythonSig
nester:bssm_pythonsig
novaclient:python_novaclient
oauth2_provider:alauda_django_oauth
oauth2client:oauth2client
odf:odfpy
ometa:Parsley
ometa:parsley
openid:python_openid
opensearchsdk:ali_opensearch
oslo_i18n:oslo.i18n
@ -830,23 +788,21 @@ oss:alioss
oss:aliyun_python_sdk_oss
oss:aliyunoss
output:cashew
owslib:OWSLib
packetdiag:nwdiag
paho:paho_mqtt
paintstore:django_paintstore
parler:django_parler
past:future
paste:PasteScript
paste:pastescript
path:forked_path
path:path.py
patricia:patricia-trie
paver:Paver
peak:ProxyTypes
peak:proxytypes
picasso:anderson.picasso
picklefield:django-picklefield
pilot:BigJob
pilot:bigjob
pivotal:pivotal_py
play_wav:PySynth
play_wav:pysynth
playhouse:peewee
plivoxml:plivo
plone:plone.alterego
@ -933,7 +889,7 @@ polymorphic:django_polymorphic
postmark:python_postmark
powerprompt:bash_powerprompt
prefetch:django-prefetch
printList:AndrewList
printlist:andrewlist
progressbar:progressbar2
progressbar:progressbar33
provider:django_oauth2_provider
@ -941,45 +897,38 @@ puresasl:pure_sasl
pwiz:peewee
pxssh:pexpect
py7zlib:pylzma
pyAMI:pyAMI_core
pyami:pyami_core
pyarsespyder:arsespyder
pyasdf:asdf
pyaspell:aspell_python_ctypes
pybb:pybbm
pybloomfilter:pybloomfiltermmap
pyccuracy:Pyccuracy
pyck:PyCK
pycrfsuite:python_crfsuite
pydispatch:PyDispatcher
pydispatch:pydispatcher
pygeolib:pygeocoder
pygments:Pygments
pygraph:python_graph_core
pyjon:pyjon.utils
pyjsonrpc:python_jsonrpc
pykka:Pykka
pylogo:PyLogo
pylons:adhocracy_Pylons
pylons:adhocracy_pylons
pymagic:libmagic
pymycraawler:Amalwebcrawler
pynma:AbakaffeNotifier
pyphen:Pyphen
pyrimaa:AEI
pysideuic:PySide
pymycraawler:amalwebcrawler
pynma:abakaffenotifier
pyrimaa:aei
pysideuic:pyside
pysqlite2:adhocracy_pysqlite
pysqlite2:pysqlite
pysynth_b:PySynth
pysynth_beeper:PySynth
pysynth_c:PySynth
pysynth_d:PySynth
pysynth_e:PySynth
pysynth_p:PySynth
pysynth_s:PySynth
pysynth_samp:PySynth
pysynth_b:pysynth
pysynth_beeper:pysynth
pysynth_c:pysynth
pysynth_d:pysynth
pysynth_e:pysynth
pysynth_p:pysynth
pysynth_s:pysynth
pysynth_samp:pysynth
pythongettext:python_gettext
pythonjsonlogger:python_json_logger
pyutilib:PyUtilib
pywintypes:pywin32
pyximport:Cython
pyximport:cython
qs:qserve
quadtree:python_geohash
queue:future
@ -988,14 +937,12 @@ quickunit:nose_quickunit
rackdiag:nwdiag
radical:radical.pilot
radical:radical.utils
reStructuredText:Zope2
restructuredtext:zope2
readability:readability_lxml
readline:gnureadline
recaptcha_works:django_recaptcha_works
relstorage:RelStorage
reportapi:django_reportapi
reprlib:pies2overrides
requests:Requests
requirements:requirements_parser
rest_framework:djangorestframework
restclient:py_restclient
@ -1005,7 +952,7 @@ rhaptos2:rhaptos2.common
robot:robotframework
robots:django_robots
rosdep2:rosdep
rsbackends:RSFile
rsbackends:rsfile
ruamel:ruamel.base
s2repoze:pysaml2
saga:saga_python
@ -1020,7 +967,7 @@ scalrtools:scalr
scikits:scikits.talkbox
scratch:scratchpy
screen:pexpect
scss:pyScss
scss:pyscss
sdict:dict.sorted
sdk_updater:android_sdk_updater
sekizai:django_sekizai
@ -1028,7 +975,6 @@ sendfile:pysendfile
serial:pyserial
setuputils:astor
shapefile:pyshp
shapely:Shapely
sika:ahonya_sika
singleton:pysingleton
sittercommon:cerebrod
@ -1042,21 +988,16 @@ snappy:ctypes_snappy
socketio:python-socketio
socketserver:pies2overrides
sockjs:sockjs_tornado
socks:SocksiPy_branch
socks:socksipy_branch
solr:solrpy
solution:Solution
sorl:sorl_thumbnail
south:South
sphinx:Sphinx
sphinx_pypi_upload:ATD_document
sphinx_pypi_upload:atd_document
sphinxcontrib:sphinxcontrib_programoutput
sqlalchemy:SQLAlchemy
src:atlas
src:auto_mix_prep
stats_toolkit:bw_stats_toolkit
statsd:dogstatsd_python
stdnum:python_stdnum
stoneagehtml:StoneageHTML
storages:django_storages
stubout:mox
suds:suds_jurko
@ -1067,23 +1008,20 @@ taggit:django_taggit
tasksitter:cerebrod
tastypie:django_tastypie
teamcity:teamcity_messages
telebot:pyTelegramBotAPI
telebot:pytelegrambotapi
telegram:python-telegram-bot
tempita:Tempita
tenjin:Tenjin
termstyle:python_termstyle
test:pytabix
thclient:treeherder_client
threaded_multihost:django_threaded_multihost
threecolor:3color_Press
threecolor:3color_press
tidylib:pytidylib
tkinter:future
tlw:3lwg
toredis:toredis_fork
tornadoredis:tornado_redis
tower_cli:ansible_tower_cli
trac:Trac
tracopt:Trac
tracopt:trac
translation_helper:android_localization_helper
treebeard:django_treebeard
trytond:trytond_stock
@ -1100,38 +1038,33 @@ tw2:tw2.jqplugins.gritter
tw2:tw2.jqplugins.ui
tw2:tw2.jquery
tw2:tw2.sqla
twisted:Twisted
twitter:python_twitter
txclib:transifex_client
u115:115wangpan
unidecode:Unidecode
universe:ansible_universe
usb:pyusb
useless:useless.pipes
userpass:auth_userpass
utilities:automakesetup.py
utkik:aino_utkik
uwsgidecorators:uWSGI
uwsgidecorators:uwsgi
valentine:ab
validate:configobj
version:chartio
virtualenvapi:ar_virtualenv_api
vyatta:brocade_plugins
webdav:Zope2
webdav:zope2
weblogolib:weblogo
webob:WebOb
websocket:websocket_client
webtest:WebTest
werkzeug:Werkzeug
wheezy:wheezy.caching
wheezy:wheezy.core
wheezy:wheezy.http
wikklytext:tiddlywebwiki
win32com:pywin32
winreg:future
winrm:pywinrm
workflow:Alfred_Workflow
wsmeext:WSME
wtforms:WTForms
workflow:alfred_workflow
wsmeext:wsme
wtfpeewee:wtf_peewee
xdg:pyxdg
xdist:pytest_xdist
@ -1139,10 +1072,10 @@ xmldsig:pysaml2
xmlenc:pysaml2
xmlrpc:pies2overrides
xmpp:xmpppy
xstatic:XStatic_Font_Awesome
xstatic:XStatic_jQuery
xstatic:XStatic_jquery_ui
yaml:PyYAML
xstatic:xstatic_font_awesome
xstatic:xstatic_jquery
xstatic:xstatic_jquery_ui
yaml:pyyaml
z3c:z3c.autoinclude
z3c:z3c.caching
z3c:z3c.form

View File

@ -147,7 +147,7 @@ def get_all_imports(path, encoding="utf-8", extra_ignore_dirs=None, follow_links
except Exception as exc:
if ignore_errors:
traceback.print_exc()
logging.warn("Failed on file: %s" % file_name)
logging.warning("Failed on file: %s" % file_name)
continue
else:
logging.error("Failed on file: %s" % file_name)
@ -164,6 +164,7 @@ def get_all_imports(path, encoding="utf-8", extra_ignore_dirs=None, follow_links
imports.add(cleaned_name)
packages = imports - (set(candidates) & imports)
packages = {p.lower() for p in packages}
logging.debug("Found packages: {0}".format(packages))
with open(join("stdlib"), "r") as f:
@ -283,7 +284,7 @@ def get_locally_installed_packages(encoding="utf-8"):
for module in top_level_modules:
if (module not in ignore) and (package[0] not in ignore):
# append exported top level modules to the list
filtered_top_level_modules.append(module)
filtered_top_level_modules.append(module.lower())
version = None
if len(package) > 1:
@ -293,7 +294,7 @@ def get_locally_installed_packages(encoding="utf-8"):
# instead of top_level_module: package pairs
packages.append(
{
"name": package[0],
"name": package[0].lower(),
"version": version,
"exports": filtered_top_level_modules,
}
@ -338,7 +339,7 @@ def get_pkg_names(pkgs):
for pkg in pkgs:
# Look up the mapped requirement. If a mapping isn't found,
# simply use the package name.
result.add(data.get(pkg, pkg))
result.add(data.get(pkg, pkg).lower())
# Return a sorted list for backward compatibility.
return sorted(result, key=lambda s: s.lower())

View File

@ -139,7 +139,7 @@ class TestPipreqs(unittest.TestCase):
def test_get_pkg_names(self):
pkgs = ["jury", "Japan", "camel", "Caroline"]
actual_output = pipreqs.get_pkg_names(pkgs)
expected_output = ["camel", "Caroline", "Japan", "jury"]
expected_output = ["camel", "caroline", "japan", "jury"]
self.assertEqual(actual_output, expected_output)
def test_get_use_local_only(self):