From eb6d701111e4b8f5ade7e4b7b4d9ea9f9914d2de Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 13:39:59 +0200 Subject: [PATCH 1/7] pipreqs.py: handle everything in lower-case We can handle all package names in lowercase, since pip is case insensitive, see PEP-426 (https://peps.python.org/pep-0426/#name). --- pipreqs/pipreqs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pipreqs/pipreqs.py b/pipreqs/pipreqs.py index 8182115..7a70440 100644 --- a/pipreqs/pipreqs.py +++ b/pipreqs/pipreqs.py @@ -141,6 +141,7 @@ def get_all_imports( 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: @@ -234,7 +235,7 @@ def get_locally_installed_packages(encoding=None): (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: @@ -244,7 +245,7 @@ def get_locally_installed_packages(encoding=None): # append package: top_level_modules pairs # instead of top_level_module: package pairs packages.append({ - 'name': package[0], + 'name': package[0].lower(), 'version': version, 'exports': filtered_top_level_modules }) @@ -288,7 +289,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()) From 2565a838a90b965ec1e763cb732a56cde871d777 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 13:42:02 +0200 Subject: [PATCH 2/7] tests: update test to all lowercase --- tests/test_pipreqs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_pipreqs.py b/tests/test_pipreqs.py index f82d3db..044df07 100644 --- a/tests/test_pipreqs.py +++ b/tests/test_pipreqs.py @@ -92,7 +92,7 @@ def test_get_imports_info(self): 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): From 99604dd8d5601532cb4f71e59a0738a55a633f67 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 14:02:38 +0200 Subject: [PATCH 3/7] pipreqs: add a script to detect duplicate mappings --- pipreqs/update_mapping.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 pipreqs/update_mapping.sh diff --git a/pipreqs/update_mapping.sh b/pipreqs/update_mapping.sh new file mode 100755 index 0000000..61b383f --- /dev/null +++ b/pipreqs/update_mapping.sh @@ -0,0 +1,22 @@ +#!/usr/bin/bash +# ------------------------------------------------------------------------------ +# Author : Michael Wurm +# ------------------------------------------------------------------------------ + +SCRIPT_PATH=$(cd -- "$(dirname -- "$(readlink -f "${BASH_SOURCE[0]}" || ${BASH_SOURCE[0]})")" &>/dev/null && pwd) + +set -euo pipefail + +MAPPING_OLD="$SCRIPT_PATH"/mapping +MAPPING_NEW="$SCRIPT_PATH"/mapping.new + +while IFS= read -r line; do + mapelements=($(echo "$line" | tr ':' '\n')) + if [ "${mapelements[0]}" == "${mapelements[1]}" ]; then + echo "Found a duplicate mapping in line: '$line'" + continue + fi + echo "$line" >>"$MAPPING_NEW" +done <"$MAPPING_OLD" + +mv "$MAPPING_NEW" "$MAPPING_OLD" From 6b0c1a2993cf616907f6199f368184e5087f9c92 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 14:25:46 +0200 Subject: [PATCH 4/7] pipreqs: remove the script again --- pipreqs/update_mapping.sh | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100755 pipreqs/update_mapping.sh diff --git a/pipreqs/update_mapping.sh b/pipreqs/update_mapping.sh deleted file mode 100755 index 61b383f..0000000 --- a/pipreqs/update_mapping.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/bash -# ------------------------------------------------------------------------------ -# Author : Michael Wurm -# ------------------------------------------------------------------------------ - -SCRIPT_PATH=$(cd -- "$(dirname -- "$(readlink -f "${BASH_SOURCE[0]}" || ${BASH_SOURCE[0]})")" &>/dev/null && pwd) - -set -euo pipefail - -MAPPING_OLD="$SCRIPT_PATH"/mapping -MAPPING_NEW="$SCRIPT_PATH"/mapping.new - -while IFS= read -r line; do - mapelements=($(echo "$line" | tr ':' '\n')) - if [ "${mapelements[0]}" == "${mapelements[1]}" ]; then - echo "Found a duplicate mapping in line: '$line'" - continue - fi - echo "$line" >>"$MAPPING_NEW" -done <"$MAPPING_OLD" - -mv "$MAPPING_NEW" "$MAPPING_OLD" From 238df55453bbf40fe4d623cff32bcf170ad2a46d Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 13:42:52 +0200 Subject: [PATCH 5/7] mapping: add win32com:pywin32 --- pipreqs/mapping | 1 + 1 file changed, 1 insertion(+) diff --git a/pipreqs/mapping b/pipreqs/mapping index 3e0dc37..2de6b93 100644 --- a/pipreqs/mapping +++ b/pipreqs/mapping @@ -1123,6 +1123,7 @@ wheezy:wheezy.caching wheezy:wheezy.core wheezy:wheezy.http wikklytext:tiddlywebwiki +win32com:pywin32 winreg:future winrm:pywinrm workflow:Alfred_Workflow From 9557e630e117905349c0f9496bb34f3201233291 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 14:04:15 +0200 Subject: [PATCH 6/7] mapping: format everything to lowercase --- pipreqs/mapping | 454 ++++++++++++++++++++++++------------------------ 1 file changed, 227 insertions(+), 227 deletions(-) diff --git a/pipreqs/mapping b/pipreqs/mapping index 2de6b93..5ea955c 100644 --- a/pipreqs/mapping +++ b/pipreqs/mapping @@ -1,51 +1,51 @@ -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 -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 +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 +shared:zope2 +signals:zope2 +stemmer:pystemmer +testing:zope2 +topzootools:topzootools +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 @@ -58,15 +58,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 @@ -77,19 +77,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 @@ -99,11 +99,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 @@ -141,7 +141,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 @@ -171,7 +171,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 @@ -187,29 +187,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 @@ -221,9 +221,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 @@ -240,15 +240,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 @@ -276,9 +276,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 @@ -300,7 +300,7 @@ athletelist:athletelistyy atm:automium atmosphere:atmosphere_python_client atom:gdata -atomic:AtomicWrite +atomic:atomicwrite atomisator:atomisator.db atomisator:atomisator.enhancers atomisator:atomisator.feed @@ -334,9 +334,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 @@ -367,8 +367,8 @@ b3j0f:b3j0f.aop b3j0f:b3j0f.conf b3j0f:b3j0f.sync b3j0f:b3j0f.utils -babel:Babel -babelglade:BabelGladeExtractor +babel:babel +babelglade:babelgladeextractor backplane:backplane2_pyclient backport_abcoll:backport_collections backports:backports.functools_lru_cache @@ -380,7 +380,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 @@ -405,29 +405,29 @@ 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 +beaker:beaker beetsplug:beets begin:begins benchit:bench_it beproud:beproud.utils bfillings:burrito_fillings -bigjob:BigJob +bigjob:bigjob billboard:billboard.py binstar_build_client:anaconda_build binstar_client:anaconda_client @@ -437,7 +437,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 @@ -449,7 +449,7 @@ brkt_requests:brkt_sdk broadcastlogging:broadcast_logging brocadetool:brocade_tool bronto:bronto_python -brownie:Brownie +brownie:brownie browsermobproxy:browsermob_proxy brubeckmysql:brubeck_mysql brubeckoauth:brubeck_oauth @@ -480,8 +480,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 @@ -514,8 +514,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 @@ -536,19 +536,19 @@ cabalgata:cabalgata_silla_de_montar cabalgata:cabalgata_zookeeper cache_utils:django_cache_utils captcha:django_recaptcha -cartridge:Cartridge +cartridge:cartridge cassandra:cassandra_driver -cassandralauncher:CassandraLauncher +cassandralauncher:cassandralauncher cc42:42qucc -cerberus:Cerberus +cerberus:cerberus cfnlint:cfn-lint -chameleon:Chameleon +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 @@ -562,19 +562,19 @@ compile:bf_lc3 compose:docker_compose compressor:django_compressor concurrent:futures -configargparse:ConfigArgParse +configargparse:configargparse configparser:pies2overrides -contracts:PyContracts -coordination:BigJob +contracts:pycontracts +coordination:bigjob copyreg:pies2overrides corebio:weblogo -couchapp:Couchapp -couchdb:CouchDB +couchapp:couchapp +couchdb:couchdb couchdbcurl:couchdb_python_curl courseradownloader:coursera_dl cow:cow_framework creole:python_creole -creoleparser:Creoleparser +creoleparser:creoleparser crispy_forms:django_crispy_forms cronlog:python_crontab crontab:python_crontab @@ -583,24 +583,24 @@ cups:pycups curator:elasticsearch_curator curl:pycurl daemon:python_daemon -dare:DARE +dare:dare dateutil:python_dateutil -dawg:DAWG +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 +distutils2:distutils2 +django:django django_hstore:amitu_hstore djangobower:django_bower djcelery:django_celery @@ -625,7 +625,7 @@ editor:python_editor elasticluster:azure_elasticluster elasticluster:azure_elasticluster_current elftools:pyelftools -elixir:Elixir +elixir:elixir em:empy emlib:empy enchant:pyenchant @@ -638,9 +638,9 @@ esplot:beaker_es_plot example:adrest examples:tweepy ez_setup:pycassa -fabfile:Fabric -fabric:Fabric -faker:Faker +fabfile:fabric +fabric:fabric +faker:faker fdpexpect:pexpect fedora:python_fedora fias:ailove_django_fias @@ -651,14 +651,14 @@ 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:flask +flask_frozen:frozen_flask +flask_redis:flask_and_redis +flaskext:flask_bcrypt flvscreen:vnc2flv followit:django_followit forge:pyforge -formencode:FormEncode +formencode:formencode formtools:django_formtools fourch:4ch franz:allegrordf @@ -667,20 +667,20 @@ frontmatter:python_frontmatter ftpcloudfs:ftp_cloudfs funtests:librabbitmq fuse:fusepy -fuzzy:Fuzzy +fuzzy:fuzzy gabbi:tiddlyweb gen_3dwallet:3d_wallet_generator gendimen:android_gendimen -genshi:Genshi +genshi:genshi geohash:python_geohash -geonode:GeoNode +geonode:geonode geoserver:gsconfig -geraldo:Geraldo +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 @@ -693,51 +693,51 @@ greplin:scales gridfs:pymongo grokcore:grokcore.component gslib:gsutil -hamcrest:PyHamcrest -harpy:HARPy -hawk:PyHawk_with_a_single_extra_commit +hamcrest:pyhamcrest +harpy:harpy +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 +hoover:hoover 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 +jinja2:jinja2 jiracli:jira_cli johnny:johnny_cache 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 +krbv:krbv kss:kss.core -kuyruk:Kuyruk -langconv:AdvancedLangConv +kuyruk:kuyruk +langconv:advancedlangconv lava:lava_utils_interface lazr:lazr.authentication lazr:lazr.restfulclient @@ -748,43 +748,43 @@ 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 +logbook:logbook logentries:buildbot_status_logentries logilab:logilab_mtconverter machineconsole:cerebrod machinesitter:cerebrod magic:python_magic -mako:Mako -manifestparser:ManifestDestiny +mako:mako +manifestparser:manifestdestiny marionette:marionette_client -markdown:Markdown +markdown:markdown marks:pytest_marks -markupsafe:MarkupSafe +markupsafe:markupsafe mavnative:pymavlink memcache:python_memcached -metacomm:AllPairs -metaphone:Metafone +metacomm:allpairs +metaphone:metafone metlog:metlog_py -mezzanine:Mezzanine +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 @@ -795,10 +795,10 @@ moksha:moksha.common moksha:moksha.hub moksha:moksha.wsgi moneyed:py_moneyed -mongoalchemy:MongoAlchemy -monthdelta:MonthDelta -mopidy:Mopidy -mopytools:MoPyTools +mongoalchemy:mongoalchemy +monthdelta:monthdelta +mopidy:mopidy +mopytools:mopytools mptt:django_mptt mpv:python-mpv mrbob:mr.bob @@ -810,14 +810,14 @@ 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 @@ -827,23 +827,23 @@ oss:alioss oss:aliyun_python_sdk_oss oss:aliyunoss output:cashew -owslib:OWSLib +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 +paver:paver +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 @@ -930,7 +930,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 @@ -938,44 +938,44 @@ 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 +pyccuracy:pyccuracy +pyck:pyck pycrfsuite:python_crfsuite -pydispatch:PyDispatcher +pydispatch:pydispatcher pygeolib:pygeocoder -pygments:Pygments +pygments:pygments pygraph:python_graph_core pyjon:pyjon.utils pyjsonrpc:python_jsonrpc -pykka:Pykka -pylogo:PyLogo -pylons:adhocracy_Pylons +pykka:pykka +pylogo:pylogo +pylons:adhocracy_pylons pymagic:libmagic -pymycraawler:Amalwebcrawler -pynma:AbakaffeNotifier -pyphen:Pyphen -pyrimaa:AEI -pysideuic:PySide +pymycraawler:amalwebcrawler +pynma:abakaffenotifier +pyphen:pyphen +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 -pyximport:Cython +pyutilib:pyutilib +pyximport:cython qs:qserve quadtree:python_geohash queue:future @@ -984,14 +984,14 @@ 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 +relstorage:relstorage reportapi:django_reportapi reprlib:pies2overrides -requests:Requests +requests:requests requirements:requirements_parser rest_framework:djangorestframework restclient:py_restclient @@ -1001,7 +1001,7 @@ rhaptos2:rhaptos2.common robot:robotframework robots:django_robots rosdep2:rosdep -rsbackends:RSFile +rsbackends:rsfile ruamel:ruamel.base s2repoze:pysaml2 saga:saga_python @@ -1016,7 +1016,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 @@ -1024,7 +1024,7 @@ sendfile:pysendfile serial:pyserial setuputils:astor shapefile:pyshp -shapely:Shapely +shapely:shapely sika:ahonya_sika singleton:pysingleton sittercommon:cerebrod @@ -1038,21 +1038,21 @@ snappy:ctypes_snappy socketio:python-socketio socketserver:pies2overrides sockjs:sockjs_tornado -socks:SocksiPy_branch +socks:socksipy_branch solr:solrpy -solution:Solution +solution:solution sorl:sorl_thumbnail -south:South -sphinx:Sphinx -sphinx_pypi_upload:ATD_document +south:south +sphinx:sphinx +sphinx_pypi_upload:atd_document sphinxcontrib:sphinxcontrib_programoutput -sqlalchemy:SQLAlchemy +sqlalchemy:sqlalchemy src:atlas src:auto_mix_prep stats_toolkit:bw_stats_toolkit statsd:dogstatsd_python stdnum:python_stdnum -stoneagehtml:StoneageHTML +stoneagehtml:stoneagehtml storages:django_storages stubout:mox suds:suds_jurko @@ -1063,23 +1063,23 @@ taggit:django_taggit tasksitter:cerebrod tastypie:django_tastypie teamcity:teamcity_messages -telebot:pyTelegramBotAPI +telebot:pytelegrambotapi telegram:python-telegram-bot -tempita:Tempita -tenjin:Tenjin +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 +trac:trac +tracopt:trac translation_helper:android_localization_helper treebeard:django_treebeard trytond:trytond_stock @@ -1096,29 +1096,29 @@ tw2:tw2.jqplugins.gritter tw2:tw2.jqplugins.ui tw2:tw2.jquery tw2:tw2.sqla -twisted:Twisted +twisted:twisted twitter:python_twitter txclib:transifex_client u115:115wangpan -unidecode:Unidecode +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 +webob:webob websocket:websocket_client -webtest:WebTest -werkzeug:Werkzeug +webtest:webtest +werkzeug:werkzeug wheezy:wheezy.caching wheezy:wheezy.core wheezy:wheezy.http @@ -1126,9 +1126,9 @@ wikklytext:tiddlywebwiki win32com:pywin32 winreg:future winrm:pywinrm -workflow:Alfred_Workflow -wsmeext:WSME -wtforms:WTForms +workflow:alfred_workflow +wsmeext:wsme +wtforms:wtforms wtfpeewee:wtf_peewee xdg:pyxdg xdist:pytest_xdist @@ -1136,10 +1136,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 From 8e50c36d15cf11af8cea8a7e567e7a10455265a9 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 14:04:56 +0200 Subject: [PATCH 7/7] mapping: remove duplicate mappings --- pipreqs/mapping | 68 ------------------------------------------------- 1 file changed, 68 deletions(-) diff --git a/pipreqs/mapping b/pipreqs/mapping index 5ea955c..f7d05fa 100644 --- a/pipreqs/mapping +++ b/pipreqs/mapping @@ -20,7 +20,6 @@ geobasemain:geobasesdev geobases:geobasesdev globals:zope2 helpsys:zope2 -ipython:ipython kittens:astro_kittens levenshtein:python_levenshtein lifetime:zope2 @@ -40,7 +39,6 @@ shared:zope2 signals:zope2 stemmer:pystemmer testing:zope2 -topzootools:topzootools treedisplay:documenttemplate workingwithdocumentconversion:aspose_pdf_java_for_python zpublisher:zope2 @@ -367,7 +365,6 @@ b3j0f:b3j0f.aop b3j0f:b3j0f.conf b3j0f:b3j0f.sync b3j0f:b3j0f.utils -babel:babel babelglade:babelgladeextractor backplane:backplane2_pyclient backport_abcoll:backport_collections @@ -421,13 +418,11 @@ 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 @@ -449,7 +444,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 @@ -536,13 +530,9 @@ 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 chip8:c8d @@ -562,19 +552,15 @@ compile:bf_lc3 compose:docker_compose compressor:django_compressor concurrent:futures -configargparse:configargparse configparser:pies2overrides 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 @@ -583,9 +569,7 @@ cups:pycups curator:elasticsearch_curator curl:pycurl daemon:python_daemon -dare:dare dateutil:python_dateutil -dawg:dawg deb822:python_debian debian:python_debian decouple:python-decouple @@ -599,8 +583,6 @@ 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 @@ -625,7 +607,6 @@ editor:python_editor elasticluster:azure_elasticluster elasticluster:azure_elasticluster_current elftools:pyelftools -elixir:elixir em:empy emlib:empy enchant:pyenchant @@ -639,8 +620,6 @@ example:adrest examples:tweepy ez_setup:pycassa fabfile:fabric -fabric:fabric -faker:faker fdpexpect:pexpect fedora:python_fedora fias:ailove_django_fias @@ -651,14 +630,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 flvscreen:vnc2flv followit:django_followit forge:pyforge -formencode:formencode formtools:django_formtools fourch:4ch franz:allegrordf @@ -667,15 +644,11 @@ 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 @@ -694,7 +667,6 @@ gridfs:pymongo grokcore:grokcore.component gslib:gsutil hamcrest:pyhamcrest -harpy:harpy hawk:pyhawk_with_a_single_extra_commit haystack:django_haystack hgext:mercurial @@ -702,7 +674,6 @@ hggit:hg_git hglib:python_hglib ho:pisa hola:amarokhola -hoover:hoover hostlist:python_hostlist html:pies2overrides htmloutput:nosehtmloutput @@ -717,7 +688,6 @@ inmemorystorage:ambition_inmemorystorage ipaddress:backport_ipaddress jaraco:jaraco.timing jaraco:jaraco.util -jinja2:jinja2 jiracli:jira_cli johnny:johnny_cache jpgrid:python_geohash @@ -734,9 +704,7 @@ keyczar:python_keyczar keyedcache:django_keyedcache keystoneclient:python_keystoneclient kickstarter:kickstart -krbv:krbv kss:kss.core -kuyruk:kuyruk langconv:advancedlangconv lava:lava_utils_interface lazr:lazr.authentication @@ -760,24 +728,19 @@ 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 marionette:marionette_client -markdown:markdown marks:pytest_marks -markupsafe:markupsafe mavnative:pymavlink memcache:python_memcached metacomm:allpairs metaphone:metafone metlog:metlog_py -mezzanine:mezzanine migrate:sqlalchemy_migrate mimeparse:python_mimeparse minitage:minitage.paste @@ -795,10 +758,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 @@ -815,7 +774,6 @@ nester:abofly nester:bssm_pythonsig novaclient:python_novaclient oauth2_provider:alauda_django_oauth -oauth2client:oauth2client odf:odfpy ometa:parsley openid:python_openid @@ -827,7 +785,6 @@ oss:alioss oss:aliyun_python_sdk_oss oss:aliyunoss output:cashew -owslib:owslib packetdiag:nwdiag paho:paho_mqtt paintstore:django_paintstore @@ -837,7 +794,6 @@ paste:pastescript path:forked_path path:path.py patricia:patricia-trie -paver:paver peak:proxytypes picasso:anderson.picasso picklefield:django-picklefield @@ -944,22 +900,16 @@ pyasdf:asdf pyaspell:aspell_python_ctypes pybb:pybbm pybloomfilter:pybloomfiltermmap -pyccuracy:pyccuracy -pyck:pyck pycrfsuite:python_crfsuite pydispatch:pydispatcher pygeolib:pygeocoder -pygments:pygments pygraph:python_graph_core pyjon:pyjon.utils pyjsonrpc:python_jsonrpc -pykka:pykka -pylogo:pylogo pylons:adhocracy_pylons pymagic:libmagic pymycraawler:amalwebcrawler pynma:abakaffenotifier -pyphen:pyphen pyrimaa:aei pysideuic:pyside pysqlite2:adhocracy_pysqlite @@ -974,7 +924,6 @@ pysynth_s:pysynth pysynth_samp:pysynth pythongettext:python_gettext pythonjsonlogger:python_json_logger -pyutilib:pyutilib pyximport:cython qs:qserve quadtree:python_geohash @@ -988,10 +937,8 @@ 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 @@ -1024,7 +971,6 @@ sendfile:pysendfile serial:pyserial setuputils:astor shapefile:pyshp -shapely:shapely sika:ahonya_sika singleton:pysingleton sittercommon:cerebrod @@ -1040,19 +986,14 @@ socketserver:pies2overrides sockjs:sockjs_tornado socks:socksipy_branch solr:solrpy -solution:solution sorl:sorl_thumbnail -south:south -sphinx:sphinx 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 @@ -1065,8 +1006,6 @@ tastypie:django_tastypie teamcity:teamcity_messages telebot:pytelegrambotapi telegram:python-telegram-bot -tempita:tempita -tenjin:tenjin termstyle:python_termstyle test:pytabix thclient:treeherder_client @@ -1078,7 +1017,6 @@ tlw:3lwg toredis:toredis_fork tornadoredis:tornado_redis tower_cli:ansible_tower_cli -trac:trac tracopt:trac translation_helper:android_localization_helper treebeard:django_treebeard @@ -1096,11 +1034,9 @@ 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 @@ -1115,10 +1051,7 @@ virtualenvapi:ar_virtualenv_api vyatta:brocade_plugins webdav:zope2 weblogolib:weblogo -webob:webob websocket:websocket_client -webtest:webtest -werkzeug:werkzeug wheezy:wheezy.caching wheezy:wheezy.core wheezy:wheezy.http @@ -1128,7 +1061,6 @@ winreg:future winrm:pywinrm workflow:alfred_workflow wsmeext:wsme -wtforms:wtforms wtfpeewee:wtf_peewee xdg:pyxdg xdist:pytest_xdist