From f0965d7aa98444c3c240167612ab7c8b8e9f9a11 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 13:39:59 +0200 Subject: [PATCH 1/6] pipreqs: 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 dceda96..1887e9c 100644 --- a/pipreqs/pipreqs.py +++ b/pipreqs/pipreqs.py @@ -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()) From c92ada92db1a49b1464fa96fb33e1b9374263509 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 13:42:02 +0200 Subject: [PATCH 2/6] 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 5e046e0..fa9ab81 100644 --- a/tests/test_pipreqs.py +++ b/tests/test_pipreqs.py @@ -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): From c12ada8542fbf12fceba9639d37c29c96433b3e1 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 13:42:52 +0200 Subject: [PATCH 3/6] pipreqs: mapping: add win32com:pywin32 --- pipreqs/mapping | 1 + 1 file changed, 1 insertion(+) diff --git a/pipreqs/mapping b/pipreqs/mapping index 8edacdd..8453563 100644 --- a/pipreqs/mapping +++ b/pipreqs/mapping @@ -1127,6 +1127,7 @@ wheezy:wheezy.caching wheezy:wheezy.core wheezy:wheezy.http wikklytext:tiddlywebwiki +win32com:pywin32 winreg:future winrm:pywinrm workflow:Alfred_Workflow From 73192af5f3e5b75e62614546c03c215ba7ac3a72 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Wed, 2 Aug 2023 14:02:38 +0200 Subject: [PATCH 4/6] pipreqs: add a script to detect duplicate mappings --- pipreqs/lint_mapping.sh | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 pipreqs/lint_mapping.sh diff --git a/pipreqs/lint_mapping.sh b/pipreqs/lint_mapping.sh new file mode 100755 index 0000000..126f9c0 --- /dev/null +++ b/pipreqs/lint_mapping.sh @@ -0,0 +1,58 @@ +#!/usr/bin/bash +# ------------------------------------------------------------------------------ +# Author : Michael Wurm +# 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 From 6187c778a3fddd91de150602d424015ad505ac9f Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Thu, 8 May 2025 13:17:02 +0200 Subject: [PATCH 5/6] pipreqs: mapping: apply lint script --- pipreqs/mapping | 390 ++++++++++++++++++++---------------------------- 1 file changed, 161 insertions(+), 229 deletions(-) diff --git a/pipreqs/mapping b/pipreqs/mapping index 8453563..c281c61 100644 --- a/pipreqs/mapping +++ b/pipreqs/mapping @@ -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,29 +1038,24 @@ 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 @@ -1130,9 +1063,8 @@ 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 @@ -1140,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 From f1c665d73b2d9b118850532dc4d6a1bfb5574742 Mon Sep 17 00:00:00 2001 From: Michael Wurm Date: Thu, 8 May 2025 13:44:40 +0200 Subject: [PATCH 6/6] pipreqs: fix deprecation warning --- pipreqs/pipreqs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipreqs/pipreqs.py b/pipreqs/pipreqs.py index 1887e9c..f32482b 100644 --- a/pipreqs/pipreqs.py +++ b/pipreqs/pipreqs.py @@ -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)