- Allows for classical OO programming with multiple inheritance using pure Python syntax, parsed by CPython’s native parser
- Hierarchical URL based module system to prevent name conflicts
- Multi-level sourcemaps and optional annotation of target code with source references
- Compact downloads, kB’s rather than MB’s
- Operator overloading can be switched on and off locally to facilitate use for numerical math that’s both readable and efficient
Transcription once used to be manual labour
Documentation with code examples
Take a look at the documentation with code examples at the Transcrypt website: http://www.transcrypt.org .
Status of latest release
Release 5 (version 3.5.196):
Thanks to everyone that has contributed ideas, bug reports and code examples. Without your cooperation this release would not be have been possible. Your work is much appreciated.
Also in this release is a simple example of how to make an iPhone/iPad web app. This is a full screen app that is freely distributed via the Internet and available off-line, represented by an icon on the home screen. It also runs in any PC browser.
Still, explicitly drawing educational institutions into the game is not without reason. While suitable for large, professional projects, Python is also currently the nr. 1 language used in teaching kids and students to program. Being able to program for the browser in Python is very attractive for a generation where the Internet is a basic fact of life. The fact that Transcrypt also has excellent space and time efficiency makes it possible to ‘grow’ from education into professional application.
I am very curious about even the most modest uses of Transcrypt in this area. You can always mail me your experiences or ask questions, request features etc. I teach programming myself at the Hogeschool Rotterdam but also to kids, and I consider this an important inroad to future innovative power.
The -s switch makes it possible to define symbols that can be used for conditional compilation but also for other purposes. The symbols are available at runtime in __main__.__symbols__.
Many bug fixes were applied as suggested by the issues contributed by several people.
Jacques de Hooge
What’s new in the latest commits
- String split and rsplit fixed
- Export all imports
- Added: any, all, assert
- Readme adapted
- Workaround for console.log.apply removed
- Several small fixes
- Itertools now functionally complete, except for zip_longest. First breed of autotests added for it. Some func’s still relies on seq’s rather than iter’s.
- Added: __pragma__ (‘ifndef’), __pragma__ (‘else’)
- Doc’s updated, empty your browser cache and read about the newest facilities on-line
- Shipment test expanded with es6 compilation
- Conditional compilation pragma’s added to facilitate optional es6 autotesting
- Generators, yield and es6 compilation added + testcases, while retaining es5 compatible minified output
- Compilation for node.js fixed
- Swallowing of unrecognized exceptions fixed
- Iterator protocol supported
- A few methods of builtin types are currently left out, especially when they (almost) duplicate functionality of other methods. This results from a deliberate choice to keep Transcrypt lean.
Other packages you might like
- Multi-module Python source code obfuscator: https://pypi.python.org/pypi/Opy
- PLC simulator with Arduino code generation: https://pypi.python.org/pypi/SimPyLC
- A lightweight Python course taking beginners seriously (under construction): https://pypi.python.org/pypi/LightOn
- Event driven evaluation nodes: https://pypi.python.org/pypi/Eden
Copyright 2014, 2015, 2016 Jacques de Hooge, GEATEC engineering, www.geatec.com
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.