Git Product home page Git Product logo

pypy.org's Introduction

PyPy: Python in Python Implementation

Welcome to PyPy!

PyPy is an interpreter that implements the Python programming language, based on the RPython compiler framework for dynamic language implementations.

The home page for the interpreter is:

https://pypy.org/

If you want to help developing PyPy, this documentation might help you:

https://doc.pypy.org/

More documentation about the RPython framework can be found here:

https://rpython.readthedocs.io/

The source for the documentation is in the pypy/doc directory.

Using PyPy instead of CPython

Please read the information at https://pypy.org/ to find the correct way to download and use PyPy as an alternative to CPython.

Building

Building PyPy is not the recommended way to obtain the PyPy alternative python interpreter. It is time-consuming and requires significant computing resources. More information can be found here:

https://doc.pypy.org/en/latest/build.html

Enjoy and send us feedback!

the pypy-dev team <[email protected]>

pypy.org's People

Contributors

alex avatar antocuni avatar arigo avatar benjaminp avatar bivab avatar bkuhn avatar cfbolz avatar cool-rr avatar fijal avatar hpk42 avatar jacob22 avatar jtereick avatar jwodder avatar lac22 avatar markdoerr avatar mattip avatar mgedmin avatar pedronis avatar pjenvey avatar planrich avatar rlamy avatar ronnypfannschmidt avatar sbercx avatar senyai avatar tav avatar techtonik avatar tekknolagi avatar tianon avatar timo avatar zooko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pypy.org's Issues

pypy.org has exposed .git (minor)

Describe the problem
https://www.pypy.org/ has an exposed .git directory. While https://www.pypy.org/.git is 403, https://www.pypy.org/.git/HEAD , https://www.pypy.org/.git/config and similar work, so it is possible to get most of the repository. While it is not dangerous in case of PyPy (since the repository is public anyway), I don't think that it should be exposed.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://www.pypy.org/.git/config

Expected behavior
Disallowed access to all files and subfolders of the /.git directory

Full text in rss feed

The feed for the old blog showed the full text of the posts in feed readers. The new blog feed only shows a snippet. It would be nice to preserve the same experience and avoid the extra click / page load.

about tkinter

my code:

D:\pypy37_v734rc1_win64>pypy3
Python 3.7.10 (465347ee258a, Mar 19 2021, 05:27:08)
[PyPy 7.3.4 with MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>> import tkinter as tk
>>>> from tkinter import ttk
>>>> win = tk.Tk()
>>>> win.title("TTK_GUI")
''
>>>> s=ttk.Style()
>>>> print(s.theme_names())
('winnative', 'clam', 'alt', 'default', 'classic')
>>>>

s.theme_names() ==> ('winnative', 'clam', 'alt', 'default', 'classic')
why no 'vista'

this is Python code

D:\pypy37_v734rc1_win64>python
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> from tkinter import ttk
>>> win = tk.Tk()
>>> win.title("TTK_GUI")
''
>>> s=ttk.Style()
>>> print(s.theme_names())
('winnative', 'clam', 'alt', 'default', 'classic', 'vista', 'xpnative')
>>>

s.theme_names() ==> ('winnative', 'clam', 'alt', 'default', 'classic', 'vista', 'xpnative')

Idea: blog post on andythenorth's pypy use

so it doesn't get lost, here is the discussion from IRC:

andythenorth> Textual User morning (EU TZ)
10:18:53 picking up a chat from mailing list...
10:19:22 I am using pypy3 on m1 mac; I'm not a programmer but I use pypy to compile game mods
10:19:56 I've compiled on m1 with x86, and it's roughly same performance as on intel i9 mac, some things faster, some slower
10:20:39 I can contribute funds directly towards an m1 for a pypy3 dev, not the whole price of a mac mini or macbook air
10:21:20 but I spend hundreds of hours per year of hobby time on these mods, and saving 4 or 5 seconds on compiling really improves cycle time
10:21:57 I could easily put in 1/3 of the cost of a mac mini at UK prices 
10:22:11 and it would be nice to support a very valuable open source project
10:23:45 
<cfbolz> Carl Friedrich Bolz-Tereick andythenorth: hey :-)
10:23:55 
<andythenorth> Textual User hi
10:24:03 
<cfbolz> Carl Friedrich Bolz-Tereick we have a mac mini available and ordered a laptop
10:24:09 
<andythenorth> Textual User excellent
10:24:12 need any funds?
10:24:36 
<cfbolz> Carl Friedrich Bolz-Tereick a small donation here is appreciated: https://opencollective.com/pypy
10:24:50 
<andythenorth> Textual User happy to do that
10:24:52 
<cfbolz> Carl Friedrich Bolz-Tereick but something else you could do, that would actually be extremely valuable: wanna write a blog post?
10:25:01 just write a bit how you're using pypy
10:25:02 
<andythenorth> Textual User now you ask the hard questions :D
10:25:05 
<cfbolz> Carl Friedrich Bolz-Tereick hehe
10:25:47 andythenorth: it's not urgent or anything, just think about it :-)
10:25:57 
<andythenorth> Textual User I will put a couple of lines of background here, to give me some ideas
10:26:14 
<cfbolz> Carl Friedrich Bolz-Tereick please!
10:26:20 (we're really interested anyway ;-) )
10:26:33 
<andythenorth> Textual User I'm a contrib to OpenTTD, which, not talking ourselves up too much, is pretty much the most successful open source game https://www.openttd.org/
10:27:17 
<cfbolz> Carl Friedrich Bolz-Tereick awesome!
10:27:37 
<andythenorth> Textual User the main mods are compiled to an archaic bytecode format, which we (not me) wrote an intermediate python compiler for 
10:27:47 https://github.com/openTTD/nml
10:28:02 it historically was dog slow, especially under python 2
10:28:27 it has got faster and faster under python 3, and has caching between runs, and a small amount of c module I believe
10:28:36 
<cfbolz> Carl Friedrich Bolz-Tereick right
10:28:58 
<andythenorth> Textual User but on intel mac at least, pypy3 was typically twice as fast in many cases
10:29:19 cutting cycle times from e.g. 40s to 20s, which is a big deal when drawing tiny pixel changes and testing them in game
10:29:33 examples of mods https://grf.farm/iron-horse/2.31.0/html/tech_tree_table_red.html
10:29:49 https://grf.farm/firs/4.4.0/html/economies.html
10:30:20 I also do a bunch of automated graphics processing using PIL / Pillow which is also typically faster under pypy3
10:30:39 
<cfbolz> Carl Friedrich Bolz-Tereick oh nice! I had no clue that Pillow benefits from pypy
10:30:42 
<andythenorth> Textual User although parallelising that via multiprocessing pool made the biggest difference
10:30:58 
<cfbolz> Carl Friedrich Bolz-Tereick makes sense
10:31:10 
<andythenorth> Textual User I think the pillow improvement is subjective to workload, I am not good at profiling though :)
10:31:15 I just run 'time make'
10:31:21 and try different pythons
10:31:44 
<cfbolz> Carl Friedrich Bolz-Tereick that's a good approach ;-)
10:32:37 
<andythenorth> Textual User I actually code generate the mod language from pure python and abuse of Chameleon (zope/pyramid) templates
10:32:52 Chameleon is not intended for that, but I know how to use it and it works
10:33:06 interestingly, last time I tested, Chameleon was notably slower under pypy3
10:33:38 it pre-compiles templates to pyc, not sure of the details, but maybe that approach is in conflict with JIT (I am out of my depth)
10:34:12 
<cfbolz> Carl Friedrich Bolz-Tereick andythenorth: ah, interesting! did you try with the recent pypy 3.8 beta release?
10:34:18 
— andythenorth looks
10:34:23 
<andythenorth> Textual User meanwhile repos are https://github.com/andythenorth/iron-horse/ and https://github.com/andythenorth/firs if anybody ever wanted to test
10:34:36 there's no build tool, deps are listed in the docs somewhere though
10:34:46 https://grf.farm/firs/4.4.0/html/code_reference.html
10:34:58 
<cfbolz> Carl Friedrich Bolz-Tereick we made a change in the recent 3.8 there that has a pretty decent chance to improve chameleon for complicated templates
10:35:13 
<andythenorth> Textual User oh that's interesting
10:35:18 is it a known case then?
10:35:53 
<cfbolz> Carl Friedrich Bolz-Tereick andythenorth: not chameleon specifically
10:36:02 but templating engines that generate code in general
10:36:07 not really known, we found out this year
10:36:57 
<andythenorth> Textual User looks like I have `[PyPy 7.3.7 with GCC Apple LLVM 13.0.0 (clang-1300.0.29.3)] on darwin`
10:37:13 can't remember if I compiled it or installed the binary
10:38:25 oh you have nightlies ok
10:38:38 
<cfbolz> Carl Friedrich Bolz-Tereick yeah, you could try a 3.8 nightly
10:40:30 andythenorth: anyway, this is all quite fascinating :-)
10:43:07 
— andythenorth just trying to install the beta safely without trashing my env and paths :D
10:43:11 
<andythenorth> Textual User I will compare times
10:54:10 hmm something is broken with Pillow when I pip install to the 3.8 beta :)
10:54:35 I'm not great at resolving that kind of issue, but it's not urgent 
10:57:42 
<cfbolz> Carl Friedrich Bolz-Tereick andythenorth: something deep in your setup, I assume?
10:57:52 
<andythenorth> Textual User probably :)
10:58:07 
<cfbolz> Carl Friedrich Bolz-Tereick :-)
10:58:07 
<andythenorth> Textual User I seem to have broken my previous pypy3 venv, but I'll figure it out somehow
10:58:53 
<cfbolz> Carl Friedrich Bolz-Tereick anyway, if you want to, this is clearly very cool, we should just dump it into a post. The numbers don't even matter too much
11:02:19 
<andythenorth> Textual User yup I will hang out in this channel for a bit and do a post at some point :)
11:03:30 
<cfbolz> Carl Friedrich Bolz-Tereick cool
11:18:20 
<andythenorth> Textual User timings for 3.10 official binary with arm, vs pypy3 x86 running in rosetta2
11:18:23 ../../pypy3/bin/nmlc -l generated/lang --verbosity=4  generated/iron-horse.nm  11.01s user 1.02s system 98% cpu 12.212 total
11:18:30 nmlc -l generated/lang --verbosity=4 --nfo=generated/iron-horse.nfo    23.92s user 0.83s system 99% cpu 24.889 total
11:18:50 even on transpiled x86, that's twice as fast
11:19:12 
<LarstiQ> Wouter van Heyst cool
11:19:13 
<andythenorth> Textual User this is super helpful when just tweaking a few pixels etc
11:19:33 this is the m1 pro, 10 core thing
11:19:56 obvs only loads one core
11:21:26 
<cfbolz> Carl Friedrich Bolz-Tereick right
11:39:41 
<andythenorth> Textual User same python 310 / pypy3, but for the chameleon part of the pipeline
11:39:45 python src/render_nml.py  1.93s user 0.12s system 94% cpu 2.162 total
11:40:05 python src/render_nml.py  12.12s user 0.50s system 98% cpu 12.839 total
11:40:18 this is a case where pypy3 is unusually slower
11:40:42 I did also try the latest nightly, about the same
11:41:17 I don't trust the results though, because chameleon builds these bytecode pre-compiled templates
11:42:23 nah same result after I clear out those
11:42:53 job is here if anybody likes investigating weird cases :D https://github.com/andythenorth/iron-horse/blob/master/src/render_nml.py
11:43:05 deps are chameleon and markdown, both installed fine from pip for me
11:43:32 
<cfbolz> Carl Friedrich Bolz-Tereick :-(
11:43:34 pity
11:43:49 
<andythenorth> Textual User well I tend to look at the wins :)
11:44:02 I just call different pythons from different parts of the makefile
11:44:08 whichever is fastest for the job
11:46:35 
<cfbolz> Carl Friedrich Bolz-Tereick andythenorth: made an issue: https://foss.heptapod.net/pypy/pypy/-/issues/3597
11:46:54 
<andythenorth> Textual User thanks :)
11:47:24 I'm doing something chameleon isn't supposed to do :)
11:57:30 
<cfbolz> Carl Friedrich Bolz-Tereick andythenorth: hah, "supposed"
11:58:43 
<andythenorth> Textual User I haven't asked chameleon devs, but I think generating 600 files from templates in 3s is probably beyond the intended use :)
11:59:27 in website use, the requests don't usually come that fast, and would have varnish or something in front of them I guess

/cc @andythenorth

opencollective paypal payments not working

Describe the problem
A clear and concise description of what the bug is: what pages it affects and how to see it

To Reproduce
Steps to reproduce the behavior:

  1. Go to supporter page
  2. Click on 'Pay w Paypal'
  3. See error

Screen Shot 2021-12-22 at 12 50 10

Expected behavior

No error

Desktop (please complete the following information):

  • OS: macOS 12.0.1
  • Browser: FF v95.0

Add a "sponsors" and "users" page

We should give credit to https://baroquesoftware.com/ for hosting the benchmark server and the buildbot server. I think we should do this via a new "sponsors"/"users" page, and link to the new page from the About drop-down menu.

I would also like to remove the link from the About drop-down to the people page.

Can't write comments on blog post

Describe the problem
JS comment plugin doesn't appear to load

To Reproduce
Steps to reproduce the behavior:

  1. Go to mac-meets-arm64
  2. Click on 'Comments'
  3. Nothing happens

Expected behavior

A box to open so I can write a comment

Desktop (please complete the following information):

  • OS: macOS 12.0.1
  • Browser: chrome v96.0.4664.110, safari v15.1, and FF v95.0

Additional context
Add any other context about the problem here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.