Skip to content

Commit 863f1b4

Browse files
committed
Merge commit '4e6535720ddbefe4f66bdf83e35cc86e6b657de0' into release/graal-vm/1.0
2 parents 81370a5 + 4e65357 commit 863f1b4

File tree

198 files changed

+44093
-1668
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+44093
-1668
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33
This changelog summarizes major changes between GraalVM versions of the Python
44
language runtime. The main focus is on user-observable behavior of the engine.
55

6+
## Version 1.0.0 RC12
7+
8+
* Support the `__class__` variable in the class scope
9+
* Support module-level docstrings
10+
* Initial support for the `venv` standard-library tool
11+
* Initial support for the built-in `_bz2` module
12+
* Initial support for the `pandas` package
13+
* Initial support for OSError subclasses based on the `errno` of the exception
14+
* Fix bytearray inplace add to return the same object
15+
* Fix access to standard Python methods (`__repr__`, `__str__`, `__len__` and the like) for foreign objects
16+
617
## Version 1.0.0 RC11
718

819
* Support running setuptools to build and install various packages

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ If all goes well (you'll need to have `clang`, `llvm-link`, `llvm-extract`,
3636
`llvm-nm`, and `opt` in your `PATH` in addition to the normal NumPy build
3737
dependencies), you should be able to `import numpy` afterwards.
3838

39+
Support for more extension modules is high priority for us. We are actively
40+
building out our support for the Python C API to make extensions such as NumPy,
41+
SciPy, Scikit-learn, Tensorflow and the like work. This work means that some
42+
other extensions might also already work, but we're not actively testing other
43+
extensions right now and cannot promise anything. Note that to try extensions on
44+
this implementation, you have to download, build, and install them manually for
45+
now. To do so, we recommend LLVM 6. Other versions might also work, but this
46+
version is what we're testing with in our CI.
47+
3948
### Licensing
4049

4150
This Graal/Truffle-based implementation of Python is copyright (c) 2017, 2018

graalpython/com.oracle.graal.python.cext/include/Python.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ extern int PyTruffle_Arg_ParseTupleAndKeywords(PyObject *argv, PyObject *kwds, c
197197
#ifdef PyArg_Parse
198198
#undef PyArg_Parse
199199
#endif
200-
#define PyArg_Parse(ARGV, FORMAT, ...) PyArg_ParseTupleAndKeywords(ARGV, PyDict_New(), FORMAT, NULL, __VA_ARGS__)
200+
#define PyArg_Parse(ARGV, FORMAT, ...) PyArg_ParseTupleAndKeywords(PyTuple_Pack(1, ARGV), PyDict_New(), FORMAT, NULL, __VA_ARGS__)
201201

202202
extern PyObject * PyTruffle_Unicode_FromFormat(const char *fmt, int s, void* v0, void* v1, void* v2, void* v3, void* v4, void* v5, void* v6, void* v7, void* v8, void* v9, void* v10, void* v11, void* v12, void* v13, void* v14, void* v15, void* v16, void* v17, void* v18, void* v19);
203203
#define PyTruffle_Unicode_FromFormat_0(F1) PyTruffle_Unicode_FromFormat(F1, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/* Copyright (c) 2018, Oracle and/or its affiliates.
2+
* Copyright (C) 1996-2017 Python Software Foundation
3+
*
4+
* Licensed under the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
5+
*/
6+
7+
/* Unicode name database interface */
8+
#ifndef Py_LIMITED_API
9+
#ifndef Py_UCNHASH_H
10+
#define Py_UCNHASH_H
11+
#ifdef __cplusplus
12+
extern "C" {
13+
#endif
14+
15+
/* revised ucnhash CAPI interface (exported through a "wrapper") */
16+
17+
#define PyUnicodeData_CAPSULE_NAME "unicodedata.ucnhash_CAPI"
18+
19+
typedef struct {
20+
21+
/* Size of this struct */
22+
int size;
23+
24+
/* Get name for a given character code. Returns non-zero if
25+
success, zero if not. Does not set Python exceptions.
26+
If self is NULL, data come from the default version of the database.
27+
If it is not NULL, it should be a unicodedata.ucd_X_Y_Z object */
28+
int (*getname)(PyObject *self, Py_UCS4 code, char* buffer, int buflen,
29+
int with_alias_and_seq);
30+
31+
/* Get character code for a given name. Same error handling
32+
as for getname. */
33+
int (*getcode)(PyObject *self, const char* name, int namelen, Py_UCS4* code,
34+
int with_named_seq);
35+
36+
} _PyUnicode_Name_CAPI;
37+
38+
#ifdef __cplusplus
39+
}
40+
#endif
41+
#endif /* !Py_UCNHASH_H */
42+
#endif /* !Py_LIMITED_API */

0 commit comments

Comments
 (0)