{"id":16475817,"url":"https://github.com/terasakisatoshi/jldev_rye","last_synced_at":"2025-03-23T11:32:55.641Z","repository":{"id":213277224,"uuid":"733328288","full_name":"terasakisatoshi/jldev_rye","owner":"terasakisatoshi","description":"(Julia + Python/Rye) --\u003e That is gomagoma kyukkyu","archived":false,"fork":false,"pushed_at":"2024-10-28T17:23:53.000Z","size":153,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-18T20:08:31.920Z","etag":null,"topics":["azarashi","julia","rye"],"latest_commit_sha":null,"homepage":"","language":"Julia","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/terasakisatoshi.png","metadata":{"files":{"readme":"README.md","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},"funding":{"github":"terasakisatoshi"}},"created_at":"2023-12-19T04:43:16.000Z","updated_at":"2024-08-06T02:15:39.000Z","dependencies_parsed_at":"2024-02-16T04:24:34.517Z","dependency_job_id":"34b339e8-25aa-4903-a0c4-f8482499c6da","html_url":"https://github.com/terasakisatoshi/jldev_rye","commit_stats":null,"previous_names":["terasakisatoshi/jldev_rye"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terasakisatoshi%2Fjldev_rye","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terasakisatoshi%2Fjldev_rye/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terasakisatoshi%2Fjldev_rye/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terasakisatoshi%2Fjldev_rye/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terasakisatoshi","download_url":"https://codeload.github.com/terasakisatoshi/jldev_rye/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245097158,"owners_count":20560311,"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":["azarashi","julia","rye"],"created_at":"2024-10-11T12:40:30.345Z","updated_at":"2025-03-23T11:32:55.258Z","avatar_url":"https://github.com/terasakisatoshi.png","language":"Julia","funding_links":["https://github.com/sponsors/terasakisatoshi"],"categories":[],"sub_categories":[],"readme":"# JLRye [![JuliaCI](https://github.com/terasakisatoshi/jldev_rye/actions/workflows/JuliaCI.yml/badge.svg)](https://github.com/terasakisatoshi/jldev_rye/actions/workflows/JuliaCI.yml) [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://terasakisatoshi.github.io/JLRye.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://terasakisatoshi.github.io/JLRye.jl/dev/)\n[![Rye](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/mitsuhiko/rye/main/artwork/badge.json)](https://rye-up.com)\n\n## How to use\n\n## Prerequisites\n\n- Install Julia\n  - It is a good idea to use [juliaup](https://github.com/JuliaLang/juliaup).\n- Install `rye`\n  - Please follow [the instructions](https://rye-up.com/guide/installation/).\n- Optionally, you can install [uv](https://github.com/astral-sh/uv) which is an extremely fast Python package installer and resolver, written in Rust.\n\n```\n$ curl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\nand run the following command to set uv as a backend.\n\n```\n$ rye config --set-bool behavior.use-uv=true\n```\n\n\nHere is an output from my machine\n\n```console\n$ julia --version\njulia version 1.10.2\n$ rye --version\nrye 0.16.0\ncommit: 0.16.0 (c003223d5 2023-12-16)\nplatform: macos (x86_64)\nself-python: cpython@3.11\nsymlink support: true\n```\n\n## Setup this project\n\n```console\n$ git clone git@github.com:terasakisatoshi/jldev_rye.git\n$ cd jldev_rye\n$ rye sync\n$ julia --project -e 'using Pkg; Pkg.instantiate()'\n```\n\n### Run Python Script\n\nAssuming you want to run `file.py`, please use the following command:\n\n```console\n$ rye run python file.py\n```\n\n### Run Julia Script\n\nAssuming you want to run `file.jl`, please use the following command:\n\n```console\n$ julia --project file.jl\n```\n\nThat's it. Go on to the next section.\n\n## Plot Lorenz Attractor\n\n### Python\n\n```python\nfrom matplotlib import pyplot as plt\nfrom jlrye.lorenz_attractor import generate_points\ndf = generate_points()\nax = plt.figure().add_subplot(projection=\"3d\")\nax.plot(df.x, df.y, df.z, markersize=2, marker=\"o\")\nax.set_title(\"Lorenz Attractor\")\nplt.show()\n```\n\n### Julia\n\n```julia\nusing StatsPlots\nusing JLRye\n\ndf = JLRye.generate_points()\n@df df plot3d(:x, :y, :z, marker=2, legend=false, title=\"Lorenz Attractor\")\n```\n\nIf you are a Pythonista, you may want to run the following script:\n\n```julia\nusing PythonPlot: pyplot as plt\nusing JLRye\n\ndf = JLRye.generate_points()\nax = plt.figure().add_subplot(projection=\"3d\")\nax.plot(df.x, df.y, df.z, markersize=2, marker=\"o\")\nax.set_title(\"Lorenz Attractor\")\nplt.show()\n```\n\n## Call Julia functions from Python\n\n```python\nfrom matplotlib import pyplot as plt\nimport juliacall\n\nfrom jlrye.julia_interface import JLRye\njldf = JLRye.generate_points()\ndf = juliacall.PythonCall.pytable(jldf)\nax = plt.figure().add_subplot(projection=\"3d\")\nax.plot(df.x, df.y, df.z, markersize=2, marker=\"o\")\nax.set_title(\"Lorenz Attractor\")\nplt.show()\n```\n\n## Call Python functions from Julia\n\n```julia\nusing DataFrames: DataFrame\nusing PythonCall: PyTable\nusing StatsPlots\n\nusing JLRye: jlrye\npydf = jlrye.generate_points()\ndf = DataFrame(PyTable(pydf))\n@df df plot3d(:x, :y, :z, marker=2, legend=false, title=\"Lorenz Attractor\")\n```\n\n## Run Tests\n\n### Python\n\n```console\n$ rye sync\n$ rye run pytest\n```\n\n### Julia\n\n```console\n$ julia --project -e 'using Pkg; Pkg.instantiate()'\n$ julia --project -e 'using Pkg; Pkg.test()'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterasakisatoshi%2Fjldev_rye","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterasakisatoshi%2Fjldev_rye","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterasakisatoshi%2Fjldev_rye/lists"}