Blåhaj Lemmy
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Luis Norambuena@programming.devM to Python@programming.devEnglish · 2 months ago

Profiling slow imports in Python

jackevans.bearblog.dev

external-link
message-square
6
link
fedilink
14
external-link

Profiling slow imports in Python

jackevans.bearblog.dev

Luis Norambuena@programming.devM to Python@programming.devEnglish · 2 months ago
message-square
6
link
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
    arrow-up
    2
    ·
    2 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
      arrow-up
      3
      ·
      2 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
        arrow-up
        1
        ·
        2 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

      • logging_strict@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        2 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

  • wewbull@feddit.uk
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    Why is the image on this story a paedobear?

    • Luis Norambuena@programming.devOPM
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 months ago

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

Python@programming.dev

python@programming.dev

Subscribe from Remote Instance

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
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 55 users / day
  • 97 users / week
  • 307 users / month
  • 1.05K users / 6 months
  • 60 local subscribers
  • 7.08K subscribers
  • 559 Posts
  • 2.89K Comments
  • Modlog
  • mods:
  • Erlingur@programming.dev
  • Jason Novinger@programming.dev
  • Luis Norambuena@programming.dev
  • BE: 0.19.11
  • Modlog
  • Legal
  • Instances
  • Docs
  • Code
  • join-lemmy.org