Skip to main content

Asynchronous Low-code compiler for python

Project description

Asynchronous Low-code compiler for python

github

How to install

pip install xfox

Optional

pip install termcolor

Example

import asyncio
import xfox
#Custom Function

@xfox.addfunc(xfox.funcs)
async def test_func(item:str, *args, **kwargs):
    print("-----",kwargs)

@xfox.addfunc(xfox.funcs)
async def somef(item:str,*args, **kwargs):
    return kwargs["ctx"]

@xfox.addfunc(xfox.funcs)
async def function4(*args, **kwargs):
    return "FOX"

@xfox.addfunc(xfox.funcs)
async def function1(item:int, type:bool,*args, **kwargs):
    return type, args

@xfox.addfunc(xfox.funcs)
async def function2(item:str, *args, **kwargs):
    await xfox.isempty(item)
    return eval(item)

@xfox.addfunc(xfox.funcs)
async def inside(item:str, type:bool=False,*args, **kwargs):
    return type

@xfox.addfunc(xfox.funcs, 'usefunc')
async def functest(func:xfox.AnonFunction,*args, **kwargs):
    return (await func.compile(), func.name)



# Sync Parsing

print(asyncio.run(xfox.parse("""
/* TRASH (xd) */
$test_func[$test_func[sfsaf]]
$function1[1;$inside[true];$sadsadsdsd[]] $onlyif[1<2;ONLYIF]
$function2[1+2;dsadasd] sometext
$function4[]
$function1[1;$inside[fsfdfd;true];$sadsadsdsd[]]
$sdasdasd[sadsadsad]
sdasdsa $exec[true;print(1+231321, end='')] $exec[true;print(1+231321, end='')] $exec[true;print(1+231321, end='')]

/* Let/Get */
$let[test;good]
$get[test]

/* Internal Functions Test */
$usefunc[$def[$print[hello!]]]
$Test[]
$def[$print[hello!];Test]
$Test[] 
                             
/* While Test */
$let[a;0]
$while[$eval[$get[a]<=5];$let[a;$eval[$get[a]+1]]]
$get[a]
123 $while[True;$if[$get[a]<15;$let[a;$eval[$get[a]+1]];$break[]] $get[a]]
123 $while[True;$break[]]
$break[]

/* DoWhile Test */
$dowhile[1>2;Test]
                             
/* For Test */
$for[1..5;$get[i]]
$for[0..100..10;$get[i]]
$for[5;$if[$get[i]==2;$break[];$get[i]]]

/* Try Test */
$try[ERROR $get[_];$function1[]] 
$try[$print[$get[_]];$function2[]]
$try[$get[_];$raise[name;text]]

/* Import usage
$import[ttest]
$functiomm[] <- (custom function from ttest) */

/* Exit - $exit[] */
                                                                              
/* a Comment */ | &s Not a Comment &s
""", ctx="asdsdsdasds",del_empty_lines=True)))

Output:

----- {'ctx': 'asdsdsdasds'}
----- {'ctx': 'asdsdsdasds'}
[LOG] hello!
[LOG] hello!
[LOG] Mising var item in function2
None
(False, ('$sadsadsdsd[]',))
3 sometext
FOX
(True, ('$sadsadsdsd[]',))
$sdasdasd[sadsadsad]
sdasdsa 231322 231322 231322
good
('', 'a547f0')
$Test[]
6
123 789101112131415
123
Test
12345
0102030405060708090100
01
ERROR Mising var type in function1
[ERROR] name: text
 | // Not a Comment //

Interactive Xfox Interpreter

python -m xfox

Start xfox files

python -m xfox (filename).xfox

Examples

Soon...

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

xfox-0.1.9.5.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xfox-0.1.9.5-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file xfox-0.1.9.5.tar.gz.

File metadata

  • Download URL: xfox-0.1.9.5.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Linux/6.13.7-200.nobara.fc41.x86_64

File hashes

Hashes for xfox-0.1.9.5.tar.gz
Algorithm Hash digest
SHA256 2168a96c1963f542830fc3588a84f7f4796ec38b8ac4310e8e75d74f36d9c7d2
MD5 122e911ca98accbc4c628c693c251dd4
BLAKE2b-256 ba4a6f1c4904b0817be7234dc36a22f3b78ca92ec57c433a9e9532ec96eaa00e

See more details on using hashes here.

File details

Details for the file xfox-0.1.9.5-py3-none-any.whl.

File metadata

  • Download URL: xfox-0.1.9.5-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Linux/6.13.7-200.nobara.fc41.x86_64

File hashes

Hashes for xfox-0.1.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a6d7eb433989e6a4b7890991b55a829afe8a58f9ec4d87eb0709f7b743017ad8
MD5 23a3c5954c0dd22b04317de395ccce43
BLAKE2b-256 ffec255e91b9916daf8a4a4931204eee3f4695f44f949b06d638a2d0c89150f9

See more details on using hashes here.

Supported by

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