Skip to main content

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 string
    • nestpython.files.nexec(file) executes the file
    • nestpython.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 => and &&
in -> or ||
not in !> := <-
is =& assert ?!
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

pypi : https://pypi.org/project/nestpython

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nestpython-0.3.23.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

nestpython-0.3.23-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file nestpython-0.3.23.tar.gz.

File metadata

  • Download URL: nestpython-0.3.23.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for nestpython-0.3.23.tar.gz
Algorithm Hash digest
SHA256 38515f892e0e76192c02f888bd992e4caca5efe5461a0e2e0d4a887d7f7ec5d9
MD5 d0b27be553359633d7c9488c8c252e74
BLAKE2b-256 1e6b02faf4766a350b87ee7f5be6748a0dc0e757873569ad1bf9d8d3700dbc43

See more details on using hashes here.

File details

Details for the file nestpython-0.3.23-py3-none-any.whl.

File metadata

  • Download URL: nestpython-0.3.23-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for nestpython-0.3.23-py3-none-any.whl
Algorithm Hash digest
SHA256 bce181d9ba8939d1a30efaf4072013fd06469b596210ee51c29c3a52693bc6e6
MD5 b765cb3f92fbcc766ade94b2e094972a
BLAKE2b-256 b181a448d151f7d0440053e5797baf398c54a39230aed8a0818088271edee515

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page