A summary of data about the Ruby ecosystem.

https://github.com/libvips/ruby-vips

Ruby extension for the libvips image processing library.
https://github.com/libvips/ruby-vips

Keywords

image-processing libvips ruby

Keywords from Contributors

activerecord activejob mvc rubygems feature-flag ruby-gem crash-reporting rack aws-sdk feature-toggle

Last synced: about 9 hours ago
JSON representation

Repository metadata

Ruby extension for the libvips image processing library.

README.md

ruby-vips

Gem Version
Test

This gem is a Ruby binding for the libvips image processing
library
. It has been tested on
Linux, macOS and Windows, and with ruby 2, ruby 3 and jruby. It uses
ruby-ffi to call functions in the libvips
library.

libvips is a demand-driven, horizontally
threaded

image processing library. Compared to similar
libraries, libvips runs quickly and uses little
memory
.
libvips is licensed under the LGPL
2.1+
.

Install on linux and macOS

Install the libvips binary with your package manager (eg. apt install libvips42 or perhaps brew install vips, see the libvips install
instructions
) then install
this gem with:

gem install ruby-vips

Or include gem "ruby-vips" in your gemfile.

Install on Windows

The gemspec will pull in the msys libvips for you, so all you need is:

gem install ruby-vips

Or include gem "ruby-vips" in your gemfile.

Tested with the ruby and msys from choco, but others may work.

Example

require "vips"

im = Vips::Image.new_from_file filename

# put im at position (100, 100) in a 3000 x 3000 pixel image, 
# make the other pixels in the image by mirroring im up / down / 
# left / right, see
# https://www.libvips.org/API/current/method.Image.embed.html
im = im.embed 100, 100, 3000, 3000, extend: :mirror

# multiply the green (middle) band by 2, leave the other two alone
im *= [1, 2, 1]

# make an image from an array constant, convolve with it
mask = Vips::Image.new_from_array [
    [-1, -1, -1],
    [-1, 16, -1],
    [-1, -1, -1]], 8
im = im.conv mask, precision: :integer

# finally, write the result back to a file on disk
im.write_to_file output_filename

Documentation

There are full API docs for ruby-vips on
rubydoc
. This sometimes has issues
updating, so we have a copy on the gh-pages for this site as
well
, which
should always work.

See the Vips section in the docs for a tutorial introduction with
examples
.

The libvips reference manual
has a complete explanation of every method.

The example/
directory has some simple example programs.

Benchmarks

The benchmark at vips-benchmarks
loads a large image, crops, shrinks, sharpens and saves again, and repeats
10 times.

real time in seconds, fastest of five runs
benchmark       tiff    jpeg
ruby-vips.rb	0.85	0.78	
image-magick	2.03	2.44	
rmagick.rb	3.87	3.89	

peak memory use in kb
benchmark	peak RES
ruby-vips.rb	43864
rmagick.rb	788768

See also benchmarks at the official libvips
website
.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 627
Total Committers: 31
Avg Commits per committer: 20.226
Development Distribution Score (DDS): 0.297

Commits in past year: 16
Committers in past year: 3
Avg Commits per committer in past year: 5.333
Development Distribution Score (DDS) in past year: 0.188

Name Email Commits
John Cupitt j****t@g****m 441
stanislaw s****h@g****m 46
Anton Rieder a****r@g****m 32
Timothy Elliott t****e@h****m 23
Janko Marohnić j****c@g****m 12
Kleis Auke Wolthuizen g****b@k****l 12
Andrew Kane a****w@c****m 8
Paul Keen 1****g 7
Victor Maslov n****n@g****m 6
sandstrom a****r@s****m 5
Simon Schmid s****n@a****h 4
Jeremy Echols j****s@u****u 3
chendo c****o 3
Felix Bünemann b****n@l****o 3
Earlopain 1****n 2
Jeremy Daer j****y@b****m 2
Lars Kanis k****s@c****e 2
Pavel Valena p****a@r****m 2
Peter Goldstein p****n@g****m 2
Alessandro Tagliapietra t****o@g****m 1
Andrei Horak l****y@g****m 1
Andrey Glushkov a****v@s****m 1
Danielle Smith d****i@h****m 1
Guillaume Wrobel 2****l 1
Jean Boussier j****r@g****m 1
Olle Jonsson o****n@g****m 1
Rodrigo Argumedo 7****o 1
Samuel Williams s****s@o****z 1
Seve Salazar s****o@g****m 1
dependabot[bot] 4****] 1
and 1 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 30 days ago

Total issues: 106
Total pull requests: 57
Average time to close issues: 10 months
Average time to close pull requests: 4 months
Total issue authors: 82
Total pull request authors: 18
Average comments per issue: 7.64
Average comments per pull request: 3.07
Merged pull request: 44
Bot issues: 0
Bot pull requests: 3

Past year issues: 12
Past year pull requests: 10
Past year average time to close issues: 22 days
Past year average time to close pull requests: 15 days
Past year issue authors: 11
Past year pull request authors: 4
Past year average comments per issue: 4.67
Past year average comments per pull request: 1.6
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 3

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/libvips/ruby-vips

Top Issue Authors

  • Nakilon (9)
  • noraj (3)
  • taylorthurlow (2)
  • demitrious-tom (2)
  • da2x (2)
  • maximeg (2)
  • jcupitt (2)
  • brandoncc (2)
  • tomasc (2)
  • curi (2)
  • ioquatix (2)
  • dkam (2)
  • kaspergrubbe (2)
  • harukizaemon (2)
  • malomalo (2)

Top Pull Request Authors

  • kleisauke (10)
  • jcupitt (9)
  • pftg (7)
  • ankane (5)
  • Earlopain (4)
  • dependabot[bot] (3)
  • LocutusOfBorg (2)
  • jeremy (2)
  • jonknapp (2)
  • petergoldstein (2)
  • guillaumewrobel (2)
  • aglushkov (2)
  • rodrigoargumedo (2)
  • sled (1)
  • Nakilon (1)

Top Issue Labels

  • bug (45)
  • question (25)
  • enhancement (9)
  • in development (3)
  • blocked-upstream (1)
  • tip (1)

Top Pull Request Labels

  • dependencies (3)
  • github_actions (3)

Package metadata

gem.coop: ruby-vips

ruby-vips is a binding for the libvips image processing library. It is fast and it can process large images without loading the whole image in memory.

  • Homepage: http://github.com/libvips/ruby-vips
  • Documentation: http://www.rubydoc.info/gems/ruby-vips/
  • Licenses: MIT
  • Latest release: 2.3.0 (published 3 months ago)
  • Last Synced: 2026-02-26T04:31:11.952Z (6 days ago)
  • Versions: 53
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 102,211,988 Total
  • Docker Downloads: 2,010,830
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Downloads: 0.275%
    • Average: 0.421%
    • Docker downloads count: 1.409%
  • Maintainers (3)
rubygems.org: ruby-vips

ruby-vips is a binding for the libvips image processing library. It is fast and it can process large images without loading the whole image in memory.

  • Homepage: http://github.com/libvips/ruby-vips
  • Documentation: http://www.rubydoc.info/gems/ruby-vips/
  • Licenses: MIT
  • Latest release: 2.3.0 (published 3 months ago)
  • Last Synced: 2026-02-25T10:31:47.752Z (6 days ago)
  • Versions: 53
  • Dependent Packages: 37
  • Dependent Repositories: 31,856
  • Downloads: 102,087,833 Total
  • Docker Downloads: 2,010,830
  • Rankings:
    • Dependent repos count: 0.191%
    • Downloads: 0.413%
    • Dependent packages count: 0.699%
    • Average: 1.461%
    • Docker downloads count: 2.033%
    • Stargazers count: 2.068%
    • Forks count: 3.361%
  • Maintainers (3)
proxy.golang.org: github.com/libvips/ruby-vips

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/libvips/ruby-vips#section-documentation
  • Licenses: mit
  • Latest release: v8.7.0+incompatible (published almost 8 years ago)
  • Last Synced: 2026-02-24T10:01:37.735Z (8 days ago)
  • Versions: 55
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.454%
    • Average: 5.637%
    • Dependent repos count: 5.82%

Score: 29.388904894246874