{"id":15360603,"url":"https://github.com/tkf/ipyjulia_hacks","last_synced_at":"2025-04-14T06:36:41.366Z","repository":{"id":66532464,"uuid":"146221959","full_name":"tkf/ipyjulia_hacks","owner":"tkf","description":"🐒 Horrible hacks 🐍","archived":false,"fork":false,"pushed_at":"2019-03-25T06:11:38.000Z","size":245,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T20:19:56.400Z","etag":null,"topics":["ipython","julia","jupyter"],"latest_commit_sha":null,"homepage":"https://ipyjulia-hacks.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tkf.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-26T22:46:31.000Z","updated_at":"2024-12-09T08:36:06.000Z","dependencies_parsed_at":"2023-06-18T15:34:09.620Z","dependency_job_id":null,"html_url":"https://github.com/tkf/ipyjulia_hacks","commit_stats":{"total_commits":167,"total_committers":1,"mean_commits":167.0,"dds":0.0,"last_synced_commit":"f5d0e0f91da5a2bca7a987de2e634e04f88c76c4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Fipyjulia_hacks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Fipyjulia_hacks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Fipyjulia_hacks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Fipyjulia_hacks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkf","download_url":"https://codeload.github.com/tkf/ipyjulia_hacks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248834499,"owners_count":21169035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ipython","julia","jupyter"],"created_at":"2024-10-01T12:50:56.443Z","updated_at":"2025-04-14T06:36:41.326Z","avatar_url":"https://github.com/tkf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"==============================================\n Horrible hacks for Julia-IPython integration\n==============================================\n\n|readthedocs| |build-status| |coveralls|\n\nScreenshots\n===========\n\nThe full notebook for the screenshot below can be found here_.\n\n.. _here:\n   https://nbviewer.jupyter.org/gist/tkf/f46826bb21ea1377562428beed00a799\n\n.. image:: https://raw.githubusercontent.com/tkf/ipyjulia_hacks/master/notebook.png\n   :align: center\n   :alt: Julia in IPython kernel in Jupyter notebook\n\n.. image:: https://raw.githubusercontent.com/tkf/ipyjulia_hacks/master/terminal.png\n   :align: center\n   :alt: Julia in IPython terminal\n\n\nFeatures\n========\n\n* `Julia's Multimedia I/O`_ hooked into `IPython's display system`_\n* Code completion inside Julia magic (by **monkey-patching** IPython)\n* ``@async`` works in Jupyter (Julia's event loop is integrated to\n  ipykernel's asyncio event loop)\n* ``print`` works in Jupyter (Julia's standard streams are integrated\n  to ipykernel's I/O)\n* Syntax highlighting works in ``%%julia`` magic of ``ipython`` CLI\n  (but not in Jupyter)\n* Copy-free access to Julia objects from Python\n\nThose are build on top of the great libraries PyCall.jl_ and PyJulia_.\n(It would be nice to merge some features to PyJulia_ at some point.\nBut I wanted to do some experiments on Python interface for handling\nJulia objects.)\n\n.. _PyJulia: https://github.com/JuliaPy/pyjulia\n.. _PyCall.jl: https://github.com/JuliaPy/PyCall.jl\n.. _`Julia's Multimedia I/O`:\n   https://docs.julialang.org/en/stable/base/io-network/#Multimedia-I/O-1\n.. _`IPython's display system`:\n   https://ipython.readthedocs.io/en/stable/config/integrating.html\n\n\nInstallation\n============\n\n::\n\n  pip install https://github.com/tkf/ipyjulia_hacks/archive/master.zip#egg=ipyjulia_hacks\n\nIPython extension usage\n-----------------------\n::\n\n  %load_ext ipyjulia_hacks.ipy.magic\n\n\n.. budges\n\n.. |build-status|\n   image:: https://travis-ci.org/tkf/ipyjulia_hacks.svg?branch=master\n   :target: https://travis-ci.org/tkf/ipyjulia_hacks\n   :alt: Build Status\n\n.. |coveralls|\n   image:: https://coveralls.io/repos/github/tkf/ipyjulia_hacks/badge.svg?branch=master\n   :target: https://coveralls.io/github/tkf/ipyjulia_hacks?branch=master\n   :alt: Test Coverage\n\n.. |readthedocs| image:: https://readthedocs.org/projects/ipyjulia-hacks/badge/?version=latest\n   :target: https://ipyjulia-hacks.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkf%2Fipyjulia_hacks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkf%2Fipyjulia_hacks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkf%2Fipyjulia_hacks/lists"}