python with braces.
Project description
nestPython
"what if python, with braces, one line?"
SETUP
Install nestPython by executing:
$ pip install nestpython
After importing;
-
In order to compile a string from nestPython to python, use
nestpython.ncompile(string)
-
In order to execute a nestPython string, use
nestpython.nexec(string)
For both, optional argument
indent-level
determines the indentation increment in the resulting python file. It is set to 1 by default. -
To execute and compile files and folders, use the
nestpython.files
module:nestpython.files.ncompile(file)
compiles the given file to a stringnestpython.files.nexec(file)
executes the filenestpython.files.build(dir, new_dir)
builds an entire golder- arguments can be provided.
Use .npy
for nestPython files, .npx
for nestCython files.
FEATURING:
braces
Use {
, ;
and }
instead of indentation! Indentation and newlines in the source files will be ignored. e.g.:
n = input('Enter Number: ');
if (n % 2 == 0) {
print('n is even')
} else {
print('n is odd')
}
Use ~{
as a shorthand for while True {
.
syntactical changes
Several keywords are altered:
Python | nestPython | Python | nestPython |
---|---|---|---|
def |
:= |
del |
~> |
return |
=> |
yield |
:> |
in |
-> |
and |
&& |
not in |
!> |
or |
|| |
is |
=& |
:= |
<- |
is not |
!=& |
case |
? |
lambda |
;= |
; |
,, |
-> |
>: |
// |
~/ |
+= 1 |
++ |
-= 1 |
-- |
{ |
-{ |
} |
}- |
A variable like return
will be replaced with return_
on transpilation. pass
is not required: simply use {}
.
Note that one-liner functions can still be written with colons: := foo(): => bar
Cython keywords are also altered for .npx
:
Cython | nestCython |
---|---|
cdef |
$= |
cpdef |
~$= |
Strings or ternaries do not have to be one-line, but if they are not, you can use \
and #
like the following.
'string \
continues here'
is equivalent to
'string continues here'
and compiles to a python string with newl This is useful to make it clear that there is a space before the newline character. The backspace is simply ignored by the compiler.
Same thing can be done with code and the #
character:
a if b #
else c
is equivalent to
a if b else c
The #
is ignored by the compiler.
comments
- For block comments, use
/*
,*/
. - For line comments, use
//
. - Block and line comments will be ignored during compilation.
- For comments that need to be transpiled into python ones, use
/|
,|\
.
(to be continued)
github : https://github.com/slycedf/nestpy
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nestpython-0.3.27.tar.gz
.
File metadata
- Download URL: nestpython-0.3.27.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e0a89b2707c85b7dec46c1ce6c1b18816314cab4e668869d736b02f6590d7d0 |
|
MD5 | 41e66d989f654b86da53a87941c49daf |
|
BLAKE2b-256 | ca119d5a86823d1313c62d2f84ba45e81f7fd698309a628a1cd2e9ff3f193598 |
File details
Details for the file nestpython-0.3.27-py3-none-any.whl
.
File metadata
- Download URL: nestpython-0.3.27-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36d2e482f65eb3afada001b53ce5386a4016f1cba255da490022158547593086 |
|
MD5 | 4fb7cd8b6793a819e6accf62f1c34778 |
|
BLAKE2b-256 | 4f4e2825caae44ba2e01125a3d55772e1105ad5c589beaeb0b462f1872ae2329 |