simonschoelly / kittyterminalimages.jl Goto Github PK
View Code? Open in Web Editor NEWA package that allows Julia to display images in the kitty terminal editor
License: MIT License
A package that allows Julia to display images in the kitty terminal editor
License: MIT License
I'm trying to use it with CairoMakie, but it's not working. Instead, I get just the usual "text" one gets when trying to plot an image in the REPL without KittyTerminalImages.jl.
I'm running the latest stable version of Makie.jl (v 0.15) and Julia 1.6.3.
I already tried using pushKittyDisplay!
with no success.
Currently we don't have any tests. While some things are definitely hard to test without running Kitty, we should have at least have one tests so we are sure that the package can be successfully loaded.
Also such tests should run automatically on every Github push or merge.
When I use KittyTerminalImages with Plots, the plots always come out really small. I can fix this by specifying , dpi=300
to the call to plot
, but this is quite cumbersome.
I was installing packages for MeshCat today, and suddenly all plots are displayed in low resolution bitmaps instead of the usual SVG. If I force svg, i need the scaling to be 0.5x in order to get anything that previously looked like 2x.
julia> using KittyTerminalImages; set_kitty_config!(:scale, 0.5)
julia> display(MIME"image/svg+xml"(), plot())
I'm not sure what happened. At one point i rebuilt GR to make plotting work, I think this is where things went haywire.
Thanks for this package, I really love it! I am using it extensively for my daily work, and it has been a great time-saver!
There is one issue I have not been able to solve yet: suppose I have a script that performs calculations and creates plots, like this one:
using Plots
using KittyTerminalImages
f(x) = 3exp(x)
x = 0.0:0.1:1.0
plot(x, f.(x))
println("Minimum value: ", f(0.0))
println("Maximum value: ", f(1.0))
# The script goes on...
Since the plot
command is not the last in the script, the plot is not produced and the output is just
julia> include("test.jl")
Minimum value: 3.0
Maximum value: 8.154845485377136
I am quite sure that the problem is easy to solve, yet I have not been able to understand why!
(@v1.4) pkg> add "https://github.com/simonschoelly/KittyTerminalImages.jl"
Updating git-repo `https://github.com/simonschoelly/KittyTerminalImages.jl`
ERROR: could not find project file in package at https://github.com/simonschoelly/KittyTerminalImages.jl
On MacOS
I installed a brand new mac with Julia 1.7, but this time using KittyTerminalImages
returns a compiler error:
julia> using KittyTerminalImages
[ Info: Precompiling KittyTerminalImages [b7fa5abe-5c7d-46c6-a1ae-1026d0d509b9]
ERROR: LoadError: InitError: UndefVarError: librsvg not defined
Stacktrace:
[1] set_default_dpi
@ ~/.julia/packages/Rsvg/dClzP/src/calls.jl:52 [inlined]
[2] __init__()
@ Rsvg ~/.julia/packages/Rsvg/dClzP/src/Rsvg.jl:16
[3] _include_from_serialized(path::String, depmods::Vector{Any})
@ Base ./loading.jl:768
[4] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
@ Base ./loading.jl:854
[5] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1097
[6] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:1013
[7] require(into::Module, mod::Symbol)
@ Base ./loading.jl:997
[8] include
@ ./Base.jl:418 [inlined]
[9] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base ./loading.jl:1318
[10] top-level scope
@ none:1
[11] eval
@ ./boot.jl:373 [inlined]
[12] eval(x::Expr)
@ Base.MainInclude ./client.jl:453
[13] top-level scope
@ none:1
during initialization of module Rsvg
in expression starting at /Users/tallakt/.julia/packages/KittyTerminalImages/resKz/src/KittyTerminalImages.jl:1
ERROR: Failed to precompile KittyTerminalImages [b7fa5abe-5c7d-46c6-a1ae-1026d0d509b9] to /Users/tallakt/.julia/compiled/v1.7/KittyTerminalImages/jl_70pZ98.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
@ Base ./loading.jl:1466
[3] compilecache(pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1410
[4] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1120
[5] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:1013
[6] require(into::Module, mod::Symbol)
@ Base ./loading.jl:997
This is after seeing another problem that was [I hope] fixed by running brew install librsvg
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
I can't see the second plot.
The following code produces a blank image
using Plots
using KittyTerminalImages
heatmap(rand(10,10))
Packages
(@v1.5) pkg> status
Status `~/.julia/environments/v1.5/Project.toml`
[336ed68f] CSV v0.7.7
[3abffc1c] ControlSystemIdentification v0.1.4
[a6e380b2] ControlSystems v0.6.0
[717857b8] DSP v0.6.7
[a93c6f00] DataFrames v0.21.6
[0c46a032] DifferentialEquations v6.15.0
[7a1cc6ca] FFTW v1.2.2
[cd3eb016] HTTP v0.8.17
[82e4d734] ImageIO v0.3.0
[6218d12a] ImageMagick v1.1.5
[41391dba] InfluxDB v0.1.0 `[email protected]:tallakt/InfluxDB.jl.git#master`
[a98d9a8b] Interpolations v0.12.10
[682c06a0] JSON v0.21.0
[6aa33ec8] KiteDesignOptimizer v0.1.0 `/Users/tallakt/Documents/forsøk/design_optimizer/KiteDesignOptimizer#master`
[b7fa5abe] KittyTerminalImages v0.2.0 `https://github.com/simonschoelly/KittyTerminalImages.jl#master`
[b964fa9f] LaTeXStrings v1.1.0
[23992714] MAT v0.8.0
[429524aa] Optim v0.22.0
[91a5bcdd] Plots v1.5.8
[295af30f] Revise v2.7.3
[6038ab10] Rotations v1.0.1
[84bd532e] STM32Parser v0.1.4 `/Users/tallakt/Documents/GitHub/STM32Parser.jl#master`
[066c0967] STMParser2 v0.1.0 `/Users/tallakt/Documents/GitHub/STMParser2#master`
[3ff8a2d4] StackedPlot v0.1.0 `https://github.com/tallakt/StackedPlot.git#master`
[2913bbd2] StatsBase v0.33.0
[e5494a8a] TetherNumerical v0.1.12 `/Users/tallakt/Documents/GitHub/TetherNumerical.jl#master`
[ade2ca70] Dates
Julia version 1.5
I loaded some data using CSV
from an usb SD card, and then after using cd
to another drive I am still not able to eject the SD card. OSX says: "The disk __ couldn't be ejected because "kitty" is using it."
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.