{"id":70,"date":"2008-02-28T02:26:37","date_gmt":"2008-02-28T08:26:37","guid":{"rendered":"http:\/\/www.philhassey.com\/blog\/2008\/02\/28\/tinypy-10-mit-license-and-swell-opengl-demo\/"},"modified":"2008-02-28T02:30:29","modified_gmt":"2008-02-28T08:30:29","slug":"tinypy-10-mit-license-and-swell-opengl-demo","status":"publish","type":"post","link":"https:\/\/www.philhassey.com\/blog\/2008\/02\/28\/tinypy-10-mit-license-and-swell-opengl-demo\/","title":{"rendered":"tinypy 1.0 &#8211; MIT License and swell OpenGL demo :)"},"content":{"rendered":"<p>Its been a long two months getting this project to the 1.0 state.  Here it is:<\/p>\n<p><a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2008\/02\/tinypy1.zip\" title=\"tinypy1.zip\">tinypy1.zip<\/a> | <a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2008\/02\/tinypy.tgz\" title=\"tinypy.tgz\">tinypy.tgz<\/a> | svn:\/\/www.imitationpickles.org\/tinypy\/tags\/1.0.0<\/p>\n<p>$ python build.py<br \/>\n$ .\/tinypy-sdl julia.py *<br \/>\n$ .\/tinypy your-program-goes-here.py<\/p>\n<p>The win32.zip includes the tinypy.exe and tinypy-sdl.exe binaries, so you can skip the building process.<\/p>\n<p><a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2008\/02\/tp-mandel.png\" title=\"tp-mandel.png\"><img decoding=\"async\" src=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2008\/02\/tp-mandel.thumbnail.png\" alt=\"tp-mandel.png\" \/><\/a><\/p>\n<p>Features include the ability to parse and compile to bytecode a pretty decent subset of python code. Its got a pretty simple API, incremental garbage collection, and a handful of builtin functions. The vm supports strings, dicts, lists, numbers, functions, methods, and custom data types. tinypy even has exotic features like list comprehensions, variable and named function arguments, inheritance, and exceptions with tracebacks. All this in just 64k** of code!!<\/p>\n<p><a href=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2008\/02\/ld105-philshot.png\" title=\"ld105-philshot.png\"><img decoding=\"async\" src=\"https:\/\/www.philhassey.com\/blog\/wp-content\/uploads\/2008\/02\/ld105-philshot.thumbnail.png\" alt=\"ld105-philshot.png\" \/><\/a><\/p>\n<p>I also had some fun this past weekend testing tinypy &#8220;in the field&#8221; making an OpenGL tetris knock-off. My apologies to Alexey Pajitnov for my <a href=\"http:\/\/slashdot.org\/articles\/08\/02\/26\/1859249.shtml\">misguided<\/a> contribution of tinypy to the open source stack.  <a href=\"http:\/\/www.imitationpickles.org\/tmp\/ld105-philhassey.zip\">win32.zip<\/a> | svn:\/\/www.imitationpickles.org\/ld105\/trunk<\/p>\n<p>I hope you enjoy checking out tinypy &#8211; I&#8217;ve had a pretty wild ride building it.<\/p>\n<p>*julia.py included is a low-res &#8220;realtime&#8221; jula fractal demo.  I felt like rendering a mandelbrot for this article.<\/p>\n<p>**See README.txt for my definition of 64k.  It&#8217;s close enough.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Its been a long two months getting this project to the 1.0 state. Here it is: tinypy1.zip | tinypy.tgz | svn:\/\/www.imitationpickles.org\/tinypy\/tags\/1.0.0 $ python build.py $ .\/tinypy-sdl julia.py * $ .\/tinypy your-program-goes-here.py The win32.zip includes the tinypy.exe and tinypy-sdl.exe binaries, so you can skip the building process. Features include the ability to parse and compile to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,8,2,32],"tags":[],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-development","category-languages","category-python","category-tinypy"],"_links":{"self":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":0,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/posts\/70\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/media?parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/categories?post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.philhassey.com\/blog\/wp-json\/wp\/v2\/tags?post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}