awful.systems
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Luis NorambuenaM to Python@programming.devEnglish • 3 months ago

Profiling slow imports in Python

jackevans.bearblog.dev

external-link
message-square
6
fedilink
13
external-link

Profiling slow imports in Python

jackevans.bearblog.dev

Luis NorambuenaM to Python@programming.devEnglish • 3 months ago
message-square
6
fedilink
This week at I went on a bit of a side quest investigating why pytest collection was so slow. Just running from our project root was taking a painfully ...

via https://fosstodon.org/@JackEvans/114055030506049316

alert-triangle
You must log in or register to comment.
  • @logging_strict@programming.dev
    link
    fedilink
    2•3 months ago

    The sample code for lazy imports looks wrong

    STRIPE = None
    
    def _stripe():
        global STRIPE
        if STRIPE is None:
            import stripe
    
            return stripe
        return STRIPE
    
    

    STRIPE is never changed. And two return statements in the same function?!

    Anyways can imagine how to do lazy imports without relying on the given code sample.

    • @MajinBlayze@lemmy.world
      link
      fedilink
      3•3 months ago

      This is a function definition, not where it’s called; any number of things can happen between these statements running. Second, multiple return statements is not unusual when there is control logic, i.e. if statements.

      • @logging_strict@programming.dev
        link
        fedilink
        1•3 months ago

        Multiple return statements is unusual. In very rare situations i understand. But the rule is never do that.

        When there is only one return statement, can step into the function to see the local variables

      • @logging_strict@programming.dev
        link
        fedilink
        1•3 months ago

        You are in for a real treat!

        Here is how to step in and get the locals

        This technique depends on there being only one return statement

        https://logging-strict.readthedocs.io/en/stable/code/tech_niques/context_locals.html

  • @wewbull@feddit.uk
    link
    fedilink
    English
    1•3 months ago

    Why is the image on this story a paedobear?

    • Luis NorambuenaOPM
      link
      fedilink
      English
      4•3 months ago

      LOL! It’s a blogging platform called Bear Blog: https://bearblog.dev/

Python@programming.dev

!python@programming.dev

remote_follow_modal_title

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !python@programming.dev

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events
Past

November 2023

  • PyCon Ireland 2023, 11-12th
  • PyData Tel Aviv 2023 14th

October 2023

  • PyConES Canarias 2023, 6-8th
  • DjangoCon US 2023, 16-20th (!django 💬)

July 2023

  • PyDelhi Meetup, 2nd
  • PyCon Israel, 4-5th
  • DFW Pythoneers, 6th
  • Django Girls Abraka, 6-7th
  • SciPy 2023 10-16th, Austin
  • IndyPy, 11th
  • Leipzig Python User Group, 11th
  • Austin Python, 12th
  • EuroPython 2023, 17-23rd
  • Austin Python: Evening of Coding, 18th
  • PyHEP.dev 2023 - “Python in HEP” Developer’s Workshop, 25th

August 2023

  • PyLadies Dublin, 15th
  • EuroSciPy 2023, 14-18th

September 2023

  • PyData Amsterdam, 14-16th
  • PyCon UK, 22nd - 25th
🐍 Python project:
  • Python
  • Documentation
  • News & Blog
  • Python Planet blog aggregator
💓 Python Community:
  • #python IRC for general questions
  • #python-dev IRC for CPython developers
  • PySlackers Slack channel
  • Python Discord server
  • Python Weekly newsletters
  • Mailing lists
  • Forum
✨ Python Ecosystem:
  • pyvideo
  • Awesome Python
  • PyCon US 2023 and videos!
🌌 Fediverse
Communities
  • #python on Mastodon
  • c/django on programming.dev
  • c/pythorhead on lemmy.dbzer0.com
Projects
  • Pythörhead: a Python library for interacting with Lemmy
  • Plemmy: a Python package for accessing the Lemmy API
  • pylemmy pylemmy enables simple access to Lemmy’s API with Python
  • mastodon.py, a Python wrapper for the Mastodon API
Feeds
  • Active c/Python posts
  • New c/Python posts
  • 4 users / day
  • 69 users / week
  • 298 users / month
  • 777 users / 6 months
  • 7.09K subscribers
  • 164 Posts
  • 463 Comments
  • Modlog
  • mods:
  • Jason Novinger
  • Erlingur
  • Luis Norambuena
  • BE: 0.19.3
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org