Skip to content

Commit bbae42d

Browse files
committed
modsys: Implement sys.version.
The logic appears to be that (at least beginning of) sys.versions is the version of reference Python language implemented, not version of particular implementation. Also, bump set versions at 3.4.0, based on @dpgeorge preference.
1 parent 58676fc commit bbae42d

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

py/modsys.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "runtime.h"
77
#include "objlist.h"
88
#include "objtuple.h"
9+
#include "objstr.h"
910

1011
#if MICROPY_ENABLE_MOD_SYS
1112

@@ -20,13 +21,15 @@ mp_obj_list_t mp_sys_path_obj;
2021
mp_obj_list_t mp_sys_argv_obj;
2122
#define I(n) MP_OBJ_NEW_SMALL_INT(n)
2223
// TODO: CPython is now at 5-element array, but save 2 els so far...
23-
STATIC const mp_obj_tuple_t mp_sys_version_info_obj = {{&mp_type_tuple}, 3, {I(3), I(3), I(5)}};
24+
STATIC const mp_obj_tuple_t mp_sys_version_info_obj = {{&mp_type_tuple}, 3, {I(3), I(4), I(0)}};
2425
#undef I
26+
STATIC const MP_DEFINE_STR_OBJ(version_obj, "3.4.0");
2527

2628
STATIC const mp_map_elem_t mp_module_sys_globals_table[] = {
2729
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_sys) },
2830
{ MP_OBJ_NEW_QSTR(MP_QSTR_path), (mp_obj_t)&mp_sys_path_obj },
2931
{ MP_OBJ_NEW_QSTR(MP_QSTR_argv), (mp_obj_t)&mp_sys_argv_obj },
32+
{ MP_OBJ_NEW_QSTR(MP_QSTR_version), (mp_obj_t)&version_obj },
3033
{ MP_OBJ_NEW_QSTR(MP_QSTR_version_info), (mp_obj_t)&mp_sys_version_info_obj },
3134
#if MP_ENDIANNESS_LITTLE
3235
{ MP_OBJ_NEW_QSTR(MP_QSTR_byteorder), MP_OBJ_NEW_QSTR(MP_QSTR_little) },

py/qstrdefs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ Q(little)
280280
Q(stdin)
281281
Q(stdout)
282282
Q(stderr)
283+
Q(version)
283284
Q(version_info)
284285
#endif
285286

0 commit comments

Comments
 (0)