Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)L
Posts
7
Comments
319
Joined
2 yr. ago

  • wreck can. It's venv aware. Takes full advantage of hierarchical requirement files. Is intuitive. The learning curve is minimal. Written in Python.

     
        
    [[tool.wreck.venvs]]
    venv_base_path = '.venv'
    reqs = [
        'requirements/pip',
        'requirements/pip-tools',
        'requirements/prod',
        'requirements/dev',
        'requirements/manage',
        'requirements/kit',
        'requirements/mypy',
        'requirements/tox',
    ]
    [[tool.wreck.venvs]]
    venv_base_path = '.doc/.venv'
    reqs = [
        'docs/requirements',
        'docs/pip-tools',
    ]
    
      

     
        
    [tool.setuptools.dynamic]
    dependencies = { file = ['requirements/prod.unlock'] }
    optional-dependencies.pip = { file = ['requirements/pip.lock'] }
    optional-dependencies.pip_tools = { file = ['requirements/pip-tools.lock'] }
    optional-dependencies.dev = { file = ['requirements/dev.lock'] }
    optional-dependencies.manage = { file = ['requirements/manage.lock'] }
    optional-dependencies.docs = { file = ['docs/requirements.lock'] }
    
      

    reqs fix --venv-relpath='.venv'

    reqs fix --venv-relpath='.doc/.venv'

    From *.in requirements files would produce *.unlock and *.lock files for venv .venv. Package versions are sync'ed within all requirements files within that venv.

  • spoiler alert: Python isn't written in fortran, cobol, pascal, assembly, VBA, Java, javascript, or Rust (ignoring clunky pypy). uv is written in Rust.

    spoiler alert: Don't have to be a C coder to use Python

  • That means it can't be maintained by the community it's serving. For those skilled in both Rust and Python can understand why it would appear as the best thing since sliced bread.

    What about for those not skilled in Rust? Should we also learn 15 other coding languages while we are at it?

    wreck is written in Python and manages dependencies. via hierarchy of requirements files, not TOML. It's venv aware. For Python package authors.

  • This has nothing to do with Python. Why post it here? Blockchain solves SPAM like this ^^

  • Not everyone is a C or a Rust coder. In C, sending in a pointer, know it's pass by reference, not pass by value.

    In Python, depends if it's immutable or mutable. Python coders eventually become hyper aware of the difference.

    Python coders that want direct access to C libraries can use Cython CPython or ctypes. Probably missing a few options. Maybe others can chime in. This comes at the expense of much more complicated packaging.

    Any package author that has underlying C code in their package automagically gains rock star status.

  • This is what i get when click Play button

     
        
    Traceback (most recent call last):
      File "/lib/python3.12/site-packages/micropip/_commands/install.py", line 142, in install
        await transaction.gather_requirements(requirements)
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 55, in gather_requirements
        await asyncio.gather(*requirement_promises)
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 62, in add_requirement
        return await self.add_requirement_inner(Requirement(req))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 151, in add_requirement_inner
        await self._add_requirement_from_package_index(req)
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 186, in _add_requirement_from_package_index
        metadata = await package_index.query_package(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/lib/python3.12/site-packages/micropip/package_index.py", line 286, in query_package
        raise ValueError(
    ValueError: Can't fetch metadata for 'memory-graph'. Please make sure you have entered a correct package name and correctly specified index_urls (if you changed them).
    Traceback (most recent call last):
      File "/lib/python3.12/site-packages/micropip/_commands/install.py", line 142, in install
        await transaction.gather_requirements(requirements)
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 55, in gather_requirements
        await asyncio.gather(*requirement_promises)
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 62, in add_requirement
        return await self.add_requirement_inner(Requirement(req))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 151, in add_requirement_inner
        await self._add_requirement_from_package_index(req)
      File "/lib/python3.12/site-packages/micropip/transaction.py", line 186, in _add_requirement_from_package_index
        metadata = await package_index.query_package(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/lib/python3.12/site-packages/micropip/package_index.py", line 286, in query_package
        raise ValueError(
    ValueError: Can't fetch metadata for 'memory-graph'. Please make sure you have entered a correct package name and correctly specified index_urls (if you changed them).
    
      

    From console

     
        
    Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015. (Reason: CORS request did not succeed). Status code: (null).
    
    None of the “sha512” hashes in the integrity attribute match the content of the subresource. The computed hash is “z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==”. memory-graph.com
    Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015. (Reason: CORS request did not succeed). Status code: (null).
    
    None of the “sha512” hashes in the integrity attribute match the content of the subresource. The computed hash is “z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==”. memory-graph.com
    Content-Security-Policy: The report URI (about:blank) should be an HTTP or HTTPS URI. memory-graph.com
    Content-Security-Policy: (Report-Only policy) The page’s settings would block a worker script (worker-src) at https://memory-graph.com/py_worker.js from being executed because it violates the following directive: “worker-src 'none'” memory-graph.com
    Loading micropip, packaging pyodide.asm.js:10:95312
    Loaded micropip, packaging pyodide.asm.js:10:95608
    PythonError: pyodide.asm.js:10:52088
    
    
      
  • For those with:

    • ancient browsers that won't run that memory graph web debugger
    • the attention span of a pigeon and can't be bothered to read a long explanation that doesn't address this particular pycon

     pycon
        
    
    >>> import copy
    >>>
    >>> a = [[0]]
    >>> c1 = a
    >>> c2 = a[:]
    >>> c3 = list(a)
    >>> c4 = a.copy()
    >>> c5 = copy.copy(a)
    >>> c6 = copy.deepcopy(a)
    >>> 
    >>> c1[0].append(1)
    >>> c2[0].append(2)
    >>> c3[0].append(3)
    >>> c4[0].append(4)
    >>> c5[0].append(5)
    >>> c6[0].append(6)
    >>> 
    >>> print(a)
    [[0, 1, 2, 3, 4, 5]]
    
      

    copy.deepcopy makes a separate memory copy into c6. So appending to c6 affects c6, but not a

  • The point about avoiding legal action is a risk that has to be weighed against the reward. And if you wrote the article, carefully quantifying the risks and associated costs. Would be a much higher degree of difficulty to argue against. Also would leave the impression that you'd make a great Project Manager.

    However that is just not PSF argument nor position.

    The PR articles make exactly two points:

    1. PSF leadership supports DEI
    2. the claw back risk is scary

    Have already addressed both issues the PSF has with moving forward and accepting funding.

    PSF can drop their DEI religious tenant, which is not virtuous, or continue to not be funded.

    Eventually the emperor has no clothes, would become obvious to all, that the current PSF leadership stance causes unfortunate and completely avoidable consequences.

    There is another unstated risk, explained best by Donald Rumsfield, the unknown unknowns. The west is at war with Russia. During wartime, govts can do unspeakable things. By being funded by govt, that squarely puts team PSF within the Wests or NATOs good graces. PSF is betting the eye of Sauron never comes their way. So accepting funding can be a positive risk with an associated absolutely huge opportunity reward. Not just the $1.5M, but US govt tends to throw money at problems especially during wartime. If US govt sees Python as a strategic resource, we might look back at that small $1.5M with nostalgia.

  • The PSF is a relatively small organization, operating with an annual budget of around $5 million per year, with a staff of just 14. $1.5 million over two years would have been quite a lot of money for us, and easily the largest grant we’d ever received.

    source

    Also thank you mod for censoring all my comments. You must prefer an echo chamber where open debate is stifled. This is also how the PSF operates. If a position cannot stand up to scrutiny, the go to tactic is to censor all opposing voices.

    So the comments deleting mod has proven my point beyond any reasonable doubt.

    Blockchain solves this!

    Group think is a disease. The US gov't is in the right to defund the disease of DEI. And the PSF laughably is cooperating rather than adapting.

    i oppose the group think that produced those articles proudly virtue signaling their failure and reframing it as a moral victory.

  • U make my point for me with this fake victimhood nonsense talking points. I reserve the right to respond. This is why the code of conduct is just a form of censorship. A way to kick out anyone except weak yes men. This echo chamber just cost PSF $1.5M

    If PSF stance chases away half the coders that is on them.

    Elections are routinely lost from this thinking. Patronizing/gaslighting is the tell. My grievance is real and it has real consequences.

    You can ignore it, but it doesn't make it any less real.

  • The executive has the last say whether funds are released to be spent.

    Congress can authorize funds. Doesn't mean they can authorize and spend infinitely without checks and balances.

  • Just hold the funds for two years. Clause expires.

    If the claw back occurs during the two year interm, nothing lost.

    So the claw back clause is not a show stopper.

  • PSF is exactly the kinda organization the current administration explicitly does not want funded.

    Thank the PSF self-righteous priestly leadership for outing themselves. This year's competition for Darwin award is gonna be fierce.

    For my opinion to change:

    • remove the PSF code of conduct
    • remove politics from PSF. No political stances
    • replace the current leadership with folks who are not priests, so this crap doesn't keep repeating
  • this is an example of poor leadership. This leadership needs replacing. They've proved it with this announcement.

    PSF current leadership are proving they are religious zealots as the water recedes from previous orthodoxy. So to should they be replaced.

  • Great! You have a spare 1.5M lying around next to the priests edicts and talking points you had to parrot to keep your job during the previous administration?