【OpenAI/ChatGPT】API リクエストしたら「You exceeded your current quota, please check your plan and billing details.」

無料で3ヶ月間、18ドル分使えるというので。


openai.api_key = os.getenv("OPENAI_API_KEY")
try:
  response = openai.Completion.create(
    engine="davinci",
    # engine="gpt-3.5-turbo",
    prompt="Hello, world!",
    max_tokens=5
  )
  print(response.choices[0].text)
except Exception as e:
  print(f"{e=}, {type(e)=}")

NGでした。


e=RateLimitError(message='You exceeded your current quota, please check your plan and billing details.', http_status=429, request_id=None), type(e)=<class 'openai.error.RateLimitError'>

利用量の確認をします。

Below you'll find a summary of API usage for your organization. All dates and times are UTC-based, and data may be delayed up to 5 minutes.
👉 Account - OpenAI API hatena-bookmark

利用の記録はないです。

無料18ドル分も付与されてない雰囲気。

「アカウント作成から3ヶ月以内。」ということですがそれは満たしている。

どういうことなんすかね!?

👉 How can I get Free Trial Credits? - General API discussion - OpenAI API Community Forum hatena-bookmark


Excel / Spreadsheet / Numbers の列の文字列を一括でQRコードで表示する方法

Google Chart API を使ったりプラグインやエクステンションを使ったりする方法もありますが、通信を使わずに完全にローカル処理のみで表示します。

パスワードやシークレットキーなどセキュリティ的に最重要な文字列をQRコードで表示したいこともありますよね。

 

🔑 準備

Pure python QR Code generator を使います。


pip install qrcode

👉 lincolnloop/python-qrcode: Python QR Code image generator hatena-bookmark

今回は、サンプルデータとして以下のCSVファイルを作成しました。


title,url
blog,https://android.benigumo.com
facebook,https://www.facebook.com/androidbenigumocom
twitter,https://twitter.com/maochanz

 

🔑 作成する

CSVファイルをExcel系アプリ(Apple Numbers)で開きます。

Excel / Spreadsheet / Numbers の列の文字列を一括でQRコードで表示する方法

QRコードで表示したい列をコピーします。

Excel / Spreadsheet / Numbers の列の文字列を一括でQRコードで表示する方法

以下をターミナルで実行すると連続で表示されます。


for uri in $(pbpaste); do qr "$uri";echo "$uri\n\n"; done


Excel / Spreadsheet / Numbers の列の文字列を一括でQRコードで表示する方法

以上です。

次回は、これをパスワードマネージャーデータの移行に使います。


プログラミング でも UI でも 等幅フォント「Martian Mono」はいい感じ。

Martian Monoは、Martian Grotesk(myfonts.com)の等幅バージョンで、Groteskのすべての利点を継承しつつ、コード用とデザイン用に制作されたフォントです。

ライセンスはSIL Open Font License 1.1で、商用プロジェクトでも無料で使用できます。

👉 プログラミング用フォントとUIデザインのどちらにも使える! 美しさと読みやすさを兼ね備えたフォント「Martian Mono」 | コリス hatena-bookmark

良さげなので、IDEA/AndroidStudio に適用してみましたが、エディター内コードのテキスト、IDE の UI のテキスト、両方共にすごくいいです!

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

きれいでくっきりと分かりやすいフォントです。

私の場合はあまり目が良くないので、すべてのテキストサイズは 14 に統一しています。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

プログラミング でも UI でも フォント「Martian Mono」はいい感じ。

多少、目が悪くても、光の当たり方が悪くても、すごく見やすくて分かりやすいです。

おすすめです。

ちなみに、上の画像は、最も標準的な Std Rg otf を入れたものです。

👉 evilmartians/mono: Free and open-source monospaced font from Evil Martians hatena-bookmark


【IDEA】Python Code Style インデントをスペース2 に設定する

Editor の反応を スペース2 仕様にする。


Setting

  ↓

Editor

  ↓

Code Style

  ↓

Python

Tabs and Indents のタブから 4 → 2, 8 → 4 に変更。

【IDEA】Python Code Style インデントをスペース2 に設定する

IDEA の 文法チェック周りを調整する。


Setting

  ↓

Editor

  ↓

Inspections

  ↓

PEP8 coding style Violations

Options Ignore errorE111, E114 を追加する。

【IDEA】Python Code Style インデントをスペース2 に設定する


E111 indentation is not a multiple of four

E114 indentation is not a multiple of four (comment)

👉 Introduction — pycodestyle 2.7.0 documentation hatena-bookmark
👉 【Pythonコーディング規約】PEP 8 vs Google Style - Qiita hatena-bookmark
👉 styleguide | Style guides for Google-originated open-source projects hatena-bookmark

まあ、しかし、スペース 4 のほうが今はまだ主流ですよな。

👉 path:**/setup.cfg flake8 ignore - Code search results · GitHub hatena-bookmark
👉 Flake8: Your Tool For Style Guide Enforcement — flake8 6.0.0 documentation hatena-bookmark



【Python】2022年 = 令和4年 = 平成34年 = 昭和97年 というような 西暦 - 元号 対照表

役所関連の書類とか整理していると、

平成とか昭和の書類がでてきて、

何年前の書類なのか、

時系列が全くわからん。

いちいちネットで調べるのだるいので。

Python の訓練です。

 

■ 確認

変換の基準を確認する。


昭和 S01.12.25 (1926-12-25) - S64.01.07 (1989-01-07)
平成 H01.01.08 (1989-01-08) - H31.04.30 (2019-04-30)
令和 R01.05.01 (2019-05-01) -

👉 元号 - Wikipedia hatena-bookmark

 

■ コード

対照表がほしい。


#!/usr/bin/env python

import datetime
from tabulate import tabulate

d = []

for a in range(1989, datetime.date.today().year + 1)[::-1]:

  r = a - 2018
  h = a - 1988
  s = a - 1925

  d.append([a, r if r > 0 else '', f'({h})' if r > 1 else h, f'({s})' if h > 1 else s])

print(tabulate(d, headers=('ad', 'reiwa', 'heisei', 'showa'), stralign='right'))

「元」とかは無視。

 

■ まとめ

中国、朝鮮、台湾、日本、ベトナムくらいですか。

微妙です。

👉 日本は役所や企業での元号の使用をやめるべきだと思いますか? - Quora hatena-bookmark