Skip to content

Commit 2c0dad3

Browse files
committed
Implementation -> Runtime
1 parent ae886a9 commit 2c0dad3

File tree

5 files changed

+19
-19
lines changed

5 files changed

+19
-19
lines changed

docs/user/FAQ.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33
### Does module/package XYZ work on GraalVM's Python runtime?
44

55
It depends, but is currently unlikely.
6-
The first goal with GraalVM's Python implementation was to show that NumPy and related packages can run using the managed GraalVM LLVM runtime.
6+
The first goal with GraalVM's Python runtime was to show that NumPy and related packages can run using the managed GraalVM LLVM runtime.
77
The GraalVM team continues to improve the number of passing CPython unittests, and to track the compatibility with popular PyPI packages.
88

9-
### Can the GraalVM Python implementation replace my Jython use case?
9+
### Can the GraalVM Python runtime replace my Jython use case?
1010

1111
It can, but there are some caveats, like Python code subclassing Java classes or use through the `javax.script.ScriptEngine` not being supported.
1212
See the [Jython Compatibility](Jython.md) guide for details.
1313

1414
### Do I need to compile and run native modules as LLVM bitcode to use on GraalVM's Python runtime?
1515

16-
If you want to run C extensions or use certain built-in features, yes, you need to build the module with GraalVM's Python implementation, and then it will run using the GraalVM LLVM runtime.
16+
If you want to run C extensions or use certain built-in features, yes, you need to build the module with GraalVM's Python runtime, and then it will run using the GraalVM LLVM runtime.
1717
However, many of the core features of Python (including, e.g., large parts of the `os` API) are implemented in pure Java and many standard library modules and packages work without running any LLVM bitcode.
18-
So even though the Python implementation depends on the GraalVM LLVM runtime, for many use cases
18+
So even though the Python runtime depends on the GraalVM LLVM runtime, for many use cases
1919
you can disallow native modules entirely.
2020

2121
### Can I use the GraalVM sandboxing features with Python?
@@ -29,7 +29,7 @@ Also, GraalVM's managed execution mode for LLVM fully works for running extensio
2929

3030
The team is continuously working to ensure all polyglot features of GraalVM work as a Python user would expect.
3131
There are still many cases where expectations are unclear or where multiple behaviors are imaginable.
32-
The team is actively looking at use cases and continuously evolving the Python implementation to provide the most
32+
The team is actively looking at use cases and continuously evolving the GraalVM Python runtime to provide the most
3333
convenient and least surprising behaviour.
3434

3535
### What performance can I expect from GraalVM's Python runtime?
@@ -45,5 +45,5 @@ In any case, both with Native Image or when running on the JVM, you first need t
4545

4646
### Can I share warmed-up code between multiple Python contexts?
4747

48-
Yes, this works, and you will find that starting up multiple contexts in the same engine, and running the same or similar code in them will get increasingly faster, because the compiled code is shared across contexts.
48+
Yes, this works, and you will find that starting up multiple contexts in the same engine, and running the same or similar code in them will get increasingly faster, because the compiled code is shared across contexts.
4949
However, the peak performance in this setup is currently lower than in the single context case.

docs/user/Jython.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ methods:
5959
Method overloads are resolved by matching the Python arguments in a best-effort manner to the available parameter types.
6060
This also happens during when data conversion.
6161
The goal here is to make using Java from Python as smooth as possible.
62-
The matching allowed here is similar to Jython, but GraalVM's Python implementation uses a more dynamic approach to matching — Python types emulating `int` or `float` are also converted to the appropriate Java types.
62+
The matching allowed here is similar to Jython, but GraalVM's Python runtime uses a more dynamic approach to matching — Python types emulating `int` or `float` are also converted to the appropriate Java types.
6363
This allows, for example, to use Pandas frames as `double[][]` or NumPy array elements as `int[]` when the elements fit into those Java primitive types.
6464

6565
| Java type | Python type |

docs/user/ParserDetails.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ the SST and scope tree are serialized such a file.
2828

2929
## Creating and Managing pyc Files
3030

31-
#### `.pyc` files are created automatically by the GraalVM Python implementation when no or an invalid `.pyc` file is found matching the desired `.py` file.
31+
#### `.pyc` files are created automatically by the GraalVM Python runtime when no or an invalid `.pyc` file is found matching the desired `.py` file.
3232

3333
When a Python source file (module) is imported during an execution for the first time, the appropriate `.pyc` file is created automatically.
3434
If the same module is imported again, then the already created `.pyc` file is used.
@@ -42,14 +42,14 @@ The hashcode is generated only based on the Python source by calling `source.has
4242
The `.pyc` files are also regenerated if a magic number in the Python parser is changed.
4343
The magic number is hard-coded in the Python source and can not be changed by the user (unless of course that user has access to the bytecode of Python).
4444

45-
The developers of GraalVM's Python implementation change the magic number when the format of SST or scope tree binary data is altered.
46-
This is an implementation detail, so the magic number does not have to correspond to the version of GraalVM's Python implementation (just like in CPython).
47-
The magic number of pyc is a function of the concrete Python implementation Java code that is running.
45+
The developers of GraalVM's Python runtime change the magic number when the format of SST or scope tree binary data is altered.
46+
This is an implementation detail, so the magic number does not have to correspond to the version of GraalVM's Python runtime (just like in CPython).
47+
The magic number of pyc is a function of the concrete Python runtime Java code that is running.
4848

4949
Note that if you use `.pyc` files, you will need to allow write-access to GraalVM's Python runtime at least when switching versions or changing the original source code.
5050
Otherwise, the regeneration of source files will fail and every import will have the overhead of accessing the old `.pyc` file, parsing the code, serializing it, and trying (and failing) to write out a new `.pyc` file.
5151

52-
A `*.pyc` file is never deleted by GraalVM's Python implementation, only regenerated.
52+
A `*.pyc` file is never deleted by GraalVM's Python runtime, only regenerated.
5353
It is regenerated when the appropriate source file is changed (timestamp of last modification or hashcode of the content) or the magic number of the Python imnplementation parser changes.
5454
Magic number changes will be communicated in the release notes so that embedders or system administrators can delete old `.pyc` files when upgrading.
5555

@@ -123,7 +123,7 @@ these language options:
123123
Note that a Python context will not enable writing `.pyc` files by default.
124124
The `graalpython` launcher enables it by default, but if this is desired in the embedding use case, care should be taken to ensure that the `__pycache__` location is properly managed and the files in that location are secured against manipulation just like the source `.py` files they were derived from.
125125

126-
Note also that to upgrade the application sources to GraalVM Enteprise's Python implementation, old `.pyc`
126+
Note also that to upgrade the application sources to GraalVM Enteprise's Python runtime, old `.pyc`
127127
files must be removed by the embedder as required.
128128

129129
## Security Considerations

docs/user/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# GraalVM Python Implementation
1+
# GraalVM Python Runtime
22

33
GraalVM provides a Python 3.8 compliant runtime.
4-
A primary goal of the Python implementation is to support SciPy and its constituent libraries, as well as to work with other data science and machine learning libraries from the rich Python ecosystem.
5-
At this point, the Python implementation is made available for experimentation and curious end-users.
4+
A primary goal of the GraalVM Python runtime is to support SciPy and its constituent libraries, as well as to work with other data science and machine learning libraries from the rich Python ecosystem.
5+
At this point, the Python runtime is made available for experimentation and curious end-users.
66
See [FAQ](FAQ.md) for commonly asked questions about this implementation.
77

88
## Installing Python
@@ -25,15 +25,15 @@ graalpython [options] [-c cmd | filename]
2525

2626
If no program file or command is given, you are dropped into a simple REPL.
2727

28-
GraalVM supports some of the same options as Python 3.8 as well as some additional options to control the underlying Python implementation, GraalVM's tools, and the execution engine.
28+
GraalVM supports some of the same options as Python 3.8 as well as some additional options to control the underlying Python runtime, GraalVM's tools, and the execution engine.
2929
These can be viewed using the following command:
3030
```shell
3131
graalpython --help --help:tools --help:languages
3232
```
3333

3434
## Installing Supported Packages
3535

36-
GraalVM Python implementation comes with a tool called `ginstall` which may be used to install a small list of packages known to work to some extent with GraalVM's Python runtime.
36+
GraalVM Python runtime comes with a tool called `ginstall` which may be used to install a small list of packages known to work to some extent with GraalVM's Python runtime.
3737
It is recommended to always create a virtual environment first, using the standard Python module `venv`.
3838
Creating such an environment avoids any incompatible interaction with the local user's packages that may have been
3939
installed using a system installation of CPython:

docs/user/Tooling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Tooling Support for Python
22

3-
GraalVM's Python implementation is incomplete and cannot launch the standard Python debugger `pdb`.
3+
GraalVM's Python runtime is incomplete and cannot launch the standard Python debugger `pdb`.
44
However, it can run the tools that GraalVM provides.
55
The `graalpython --help:tools` command will give you more information about tools currently supported on Python.
66

0 commit comments

Comments
 (0)