タグ

pkg*に関するsh19910711のブックマーク (111)

  • RMeCabみたいなRパッケージをCRANに投稿した話

    gibasaパッケージについて RMeCabみたいなことができる、gibasaというRパッケージを個人で開発しています。先日CRANに投稿できたので、2023年4月20日現在では、install.packages("gibasa")とするだけでもインストールできるようになっています。 モチベーションとしては、tidytext::unnest_tokensと同じような処理をMeCabを利用しつつできるようにしたいということで開発しています。また、とくに最近は、より簡単に利用をはじめられるようにしようと、すこしずつ改善を続けています。 開発の背景 RからMeCabを利用できるRパッケージとしては、すでにRMeCabがあります。徳島大学の石田基広先生が開発されているもので、わりと昔からあるパッケージです。 RMeCabは便利なパッケージですが、残念ながら、CRANには登録されていません。 技術

    RMeCabみたいなRパッケージをCRANに投稿した話
    sh19910711
    sh19910711 2024/06/06
    "RMeCab: ビルドするにはlibmecab.dllなどのバイナリファイルが必要 + 一方で、CRANポリシーは基本的にそうしたバイナリファイルをソースパッケージに含めることを禁止"
  • Rust製ツールのmiseでランタイムバージョンを管理する|Taro Yamashita

    アキッパの山下です。 手元の環境を汚さずに、PHP/Python/Node.jsなどのランタイムバージョンを切り替えたいというニーズでは、Dockerの利用がすっかり主流だと思いますが、シーンによってはPythonのvenvといったツールもまだまだ活躍するシーンは多いのではないでしょうか。 そんなツールの中で、今回はRust製ツールのmiseを紹介します。 ランタイムバージョン管理とは?あらためて、ITシステムやWebサービスを開発・運用していく場合、どのプログラミング言語で構築されているか?だけでなく、そのバージョンは?も重要なポイントです。 稼動しているサーバにインストールされている言語バージョンと、手元の開発環境でバージョンが異なれば、手元で動くのにサーバで動かない(あるいはその逆)が往々にして起こります。 開発環境にサーバと同じバージョンをインストールすれば良いのですが、サーバAで

    Rust製ツールのmiseでランタイムバージョンを管理する|Taro Yamashita
    sh19910711
    sh19910711 2024/05/28
    "手元の環境を汚さずに、PHP/Python/Node.jsなどのランタイムバージョンを切り替えたいというニーズ / mise: asdfと完全互換なうえに、速度面でも文句なし + rtxからmiseに名前が変わった"
  • Ryeに見る自己完結型Pythonとライセンスの話 - techtekt

    目次 目次 はじめに 検証環境 pyenv + Poetryのインストールとプロジェクト作成 pyenvのインストール Poetryのインストール プロジェクト作成 Ryeのインストールとプロジェクト作成 インストール プロジェクト作成 pyenv環境とRye環境のPythonの挙動の違い readlineモジュール なぜRyeのPythonはlibeditを使用するのか pyenvよるPythonのインストール RyeによるPythonのインストール ライセンスの問題 ユーザへの影響 まとめ はじめに Pythonの開発において、pyenvによるバージョンの切り替えと、Poetryによるプロジェクト管理の組み合わせを使用されている方は多いかと思います。 そんな中、ワンストップなプロジェクト・パッケージ管理ツールとして近年登場し、話題となっているのがRyeです。 rye-up.com Ry

    Ryeに見る自己完結型Pythonとライセンスの話 - techtekt
    sh19910711
    sh19910711 2024/05/24
    "GNU readlineライブラリと互換性があり、BSDライセンスであるlibeditを使用してコンパイルしたreadlineモジュールを採用 / readline、libeditと聞いて、既にライセンスの問題を想起された方もいらっしゃるかもしれません"
  • uvとRye - methaneのブログ

    先週にRuffを開発しているAstralがuvを発表しました。 astral.sh uvは現在のところはvenv, pip, pip-toolsの基的な機能を提供していますが、将来は"Cargo for Python"になることを目標にしています。 一見すると乱立しているPythonのパッケージ管理ツールにもう一つ加わったように見えますが、Ryeの開発者のArminとuvの開発チームは連携していて、同時に次のような発表をしています。 uv: Python packaging in Rust Rye Grows With UV | Armin Ronacher's Thoughts and Writings Ryeはもともとより良いパッケージツールがどうあるべきかの実証のために作られていて、中身は既存のツールのツギハギだった Ryeがpip-toolsやvirtualenvの代わりにuvを

    uvとRye - methaneのブログ
    sh19910711
    sh19910711 2024/05/03
    "uv: ”Cargo for Python”になることを目標 / 乱立しているPythonのパッケージ管理ツールにもう一つ加わったように見えますがRyeの開発者のArminとuvの開発チームは連携していて / uvがRyeの機能に追いつくまでRyeの開発は当面続く"
  • Python: LightGBM v4.0 の CUDA 実装を試す - CUBE SUGAR CONTAINER

    LightGBM のバージョン 4.0.0 が 2023-07-14 にリリースされた。 このリリースは久しぶりのメジャーアップデートで、様々な改良が含まれている。 詳細については、以下のリリースノートで確認できる。 github.com リリースの大きな目玉として CUDA を使った学習の実装が全面的に書き直されたことが挙げられる。 以前の LightGBM は、GPU を学習に使う場合でも、その計算リソースを利用できる範囲が限られていた。 それが、今回の全面的な刷新によって、利用の範囲が拡大されたとのこと。 ただし、PyPI で配布されている Linux 向け Wheel ファイルは CUDA での学習に対応していない。 対応しているのは CPU と、GPU でも OpenCL の API を使ったもの。 そのため、もし CUDA を使った学習を利用したい場合には自分で Wheel を

    Python: LightGBM v4.0 の CUDA 実装を試す - CUBE SUGAR CONTAINER
    sh19910711
    sh19910711 2024/04/30
    "CUDA を使った学習を利用したい場合には自分で Wheel をビルドする必要 / pip: --no-binary で PyPI の Wheel をインストールせず、ソースコード配布物を自身でビルド + キャッシュが効いてしまわないように --no-cache も指定" 2023
  • Renovate の Best Practices から学ぶ依存関係管理の考え方

    Renovateプロジェクトの依存関係の更新を自動化するツールです。 npmライブラリやGitHub Actions、Dockerイメージのバージョンなどを監視し、ライブラリアップデート用のPRの作成を行います。 Renovateは豊富な構文から柔軟な設定ができますが、プリセットと呼ばれるカスタマイズされた設定集を利用することもできます。 その中でconfig:best-practicesというRenovateが考えるベストプラクティスのプリセットが用意されています。 このプリセットを読み解くことで、Renovateがどのようにライブラリのバージョンを指定し運用するべきか知ることができます。 この記事ではconfig:best-practicesの設定を読み解き、どのようにライブラリの依存関係を扱うかを考えていきます。 config:best-practice で設定されている項目 執筆

    Renovate の Best Practices から学ぶ依存関係管理の考え方
    sh19910711
    sh19910711 2024/04/18
    "Renovate: config:best-practicesというRenovateが考えるベストプラクティスのプリセットが用意 / ghalint: GitHub Actionsのセキュリティ上のプラクティスをちゃんと守れている検知するツール"
  • 2019年、fat gemをやめる - 2019-11-22 - ククログ

    fat gemを簡単に作れるようにするgemであるrake-compilerをメンテナンスしている須藤です。過去にfat gemの作り方をまとめたこともあります。 Ruby 1.8.7/1.9.1どちらでも使えるWindows用バイナリ入りgemをDebian GNU/Linux上で作る方法 Windowsの32bit/64bitRuby用バイナリ入りgemをDebian GNU/Linux上で作る方法 fat gemが有用な時代もあったのですが、今はメリットよりもデメリットの方が大きいのでfat gemをやめたらどうか、という話をします。 fat gemについて fat gemとはビルド済みバイナリーが入ったgemのことです。Pythonで言えばwheelのようなものです。 RubyはC言語でRuby用のライブラリーを実装することができます。これを拡張ライブラリーと呼びます。拡張ライブ

    2019年、fat gemをやめる - 2019-11-22 - ククログ
  • パッケージのダウングレード - ArchWiki

    パッケージをダウングレードする前に、なぜそうするのか考えて下さい。バグが理由ならば、バグトラッカーで既存のタスクを探してください。そこに無いのであれば、新しいタスクを追加してください。バグを修正するか、少なくとも、起こりうる問題を他のユーザに警告すると良いでしょう。 警告: 場合によっては、一つのパッケージをダウングレードするために、依存パッケージも一緒にダウングレードする必要があります。ダウングレードするべきパッケージの数が多い場合、スナップショットを使うことを検討してください。Arch Linux Archive#特定の日時まで全てのパッケージをリストアする方法 を参照してください。 設定ファイルやスクリプトの変更には注意を払ってください。今の所、pacman は、セーフガードをバイパスしない限り、これらの変更を処理してくれます。 ダウングレードが soname の変更を伴う場合、場合

    パッケージのダウングレード - ArchWiki
    sh19910711
    sh19910711 2018/06/18
    これか / “pacman.conf の IgnorePkg セクションに IgnorePkg = package1 package2 と書けば pacman -Syu した時も Pacman は指定されたパッケージのアップグレードを無視します。”
  • Bundler-1.16.1 のリリースを手伝った - HsbtDiary(2017-12-22)

    Bundler-1.16.1 のリリースを手伝った Bundler-1.16.0 がリリースされてから不具合はあるけど、どうなってんのこれ?というのが続いていて、いい加減なんとかしなければという気持ちになったので、すでに pr として出されているものや issue だけのもの、まったく何も動いてないものなどをガガガっと整頓してひたすらマージして stable ブランチで壊れたら直すというのを繰り返してやっとブランチのテストを安定させることができたので、@indirect に 1.16.1 をリリースしてもらった。 https://github.com/bundler/bundler/milestone/56 bundler だいぶわかって来たんだけど、ruby 体と同じように master で直しまくってから安定版ブランチにバックポートするというリリースモデルなのに、そのバックポート

    Bundler-1.16.1 のリリースを手伝った - HsbtDiary(2017-12-22)
  • Bundler 2.0.0.devを使ってみる - koicの日記

    Rails の master で Bundler 2 を許可するようになった ので、手元の Rails アプリケーションで Bundler 2 を使ってみることにした。 RubyGems にはまだ Bundler 2 は公開されていないため、ソースコードからインストールする必要があるので、その手順を記しておく (もっとクールなやり方あるかもだけど、他のアプローチは分からない) 。 bundler/bundler の master のソースコードにある version.rb のバージョンを 2.0.0.dev にする。Bundler の実装としてメジャーバージョンが2であれば、Bundler.feature_flag.bundler_2_mode? の値で true を返して Bundler 2 モードなるので、それを有効にするためとなる。 % git diff diff --git a/l

    Bundler 2.0.0.devを使ってみる - koicの日記
  • 幹部合宿2日目, Ruby 2.5.0 の rubygems イマココ - HsbtDiary(2017-06-23)

    ■ 幹部合宿2日目 前日に続いて某所地下で議論を続けてました。夕方の手前くらいには終わったので、京浜東北線にのってシュッと帰宅。お疲れさまでした。 ■ Ruby 2.5.0 の rubygems イマココ @hsbt は Ruby 2.5 で Gemification 以外にも継続的に upstream が ruby/ruby 以外にあるやつのマージをやってるんで、rubygems 周りで今どうなってんの、というお知らせです。 まずは 5 月に 2.6.12 をマージしていた。 https://github.com/ruby/ruby/commit/708a10d35bf7d34da574ca3f2ae6be4bfffd5267#diff-d0025c89dbe0577be56358e4a356131b rubygems 2.6.12 のリリースノートは https://github.co

    幹部合宿2日目, Ruby 2.5.0 の rubygems イマココ - HsbtDiary(2017-06-23)
  • Rubygem開発の流儀

    関西Ruby会議 2017の発表資料 私がRubygemを色々作ってきた中で経験したことや、考え方について。

    Rubygem開発の流儀
  • 君はyarn.lockをコミットしているか?

    Node学園 24時限目 でのLT発表資料 https://nodejs.connpass.com/event/53534/Read less

    君はyarn.lockをコミットしているか?
  • Yarn(pkg) はなぜ速いのか気になったのでソースコードを読んでみた - Qiita

    $ node -v v6.9.1 $ npm -v v4.0.3 $ yarn -V v0.17.9 $ rm -rf ~/.npm ~/.yarn ~/Library/Caches/Yarn # キャッシュなどを削除 $ time npm install ... npm install 34.90s user 10.77s system 103% cpu 44.206 total $ rm -rf node_modules $ time yarn install ... yarn install 12.26s user 7.28s system 71% cpu 27.494 total 今回、yarnはなぜ速いかを探ってみたいと思います。 公式の説明 速度に関する部分だけ抜き出してみます。 オフラインモード 一度ダウンロードした package はキャッシュされ二度目はダウンロードされな

    Yarn(pkg) はなぜ速いのか気になったのでソースコードを読んでみた - Qiita
  • Goのパッケージマネージャのmanulの使い方 #golang - Qiita

    $ l total 16 drwxr-xr-x 5 kazu staff 170B 12 9 14:35 . drwxr-xr-x 84 kazu staff 2.8K 12 9 14:34 .. drwxr-xr-x 12 kazu staff 408B 12 9 14:44 .git -rw-r--r-- 1 kazu staff 13B 12 9 14:34 README.md -rw-r--r-- 1 kazu staff 312B 12 9 14:43 main.go $ manul -Q github.com/labstack/echo github.com/labstack/gommon github.com/mattn/go-colorable github.com/mattn/go-isatty github.com/valyala/fasttemplate $ manu

    Goのパッケージマネージャのmanulの使い方 #golang - Qiita
  • Yarn

    Migrating from npm should be a fairly easy process for most users. Yarn can consume the same package.json format as npm, and can install any package from the npm registry. If you want to try Yarn out on your existing npm project, just try running: This will lay out your node_modules folder using Yarn’s resolution algorithm that is compatible with the node.js module resolution algorithm. If you get

    Yarn
  • Hijacking gem commands

    Rubygems has been made extensible by the usage of plugins. Any gem that provides a lib/rubygems_plugin.rb file will be discovered by the gem infrastructure, whether it is loaded by your application or not. Adding new commands is fairly easy, here’s how we could replace existing ones (like install), using only Rubygems’ public API. Writing Rubygems plugins is fairly easy, as mentioned by the paragr

  • 書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ

    Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgemRubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ

    書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ
  • Geminabox を高速化した : sonots:blog

    Geminabox を高速化した : sonots:blog
  • Ruby 2.4.0 で導入予定の Integer Unification まとめ, 夏休みで北海道へ - HsbtDiary(2016-08-29)

    Ruby 2.4.0 で導入予定の Integer Unification まとめ Ruby 2.4.0 で導入が予定されている Integer Unification が与えるであろう Ruby アプリケーションへの影響をまとめておく。 率直には rb_cFixnum や rb_cBignum が 2.4 からは見えなくなるので、それらを参照しているような native gem が対応していなければビルドできないためアプリケーションが動かなくなる。じゃあ、対応したバージョンに全てバージョンアップすればいいじゃん、という話なのだけど bundler が解決してくれる dependency 沼と絡み合って、単純には解決できずに 8 月現在は厳しい状態になっている。 json は Rubybundle している�バージョンですでに Integer Unification 対応がなされ

    Ruby 2.4.0 で導入予定の Integer Unification まとめ, 夏休みで北海道へ - HsbtDiary(2016-08-29)