{"id":38379282,"url":"https://github.com/wakataw/pyproc","last_synced_at":"2026-01-17T03:36:38.132Z","repository":{"id":39428296,"uuid":"212540836","full_name":"wakataw/pyproc","owner":"wakataw","description":"SPSE (Sistem Pengadaan Secara Elektronik) Python API Wrapper","archived":false,"fork":false,"pushed_at":"2025-11-08T19:23:06.000Z","size":273,"stargazers_count":31,"open_issues_count":3,"forks_count":22,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-11-08T21:07:31.208Z","etag":null,"topics":["data","e-procurement","lkpp","lpse","pengadaan","python","sedot","spse"],"latest_commit_sha":null,"homepage":"","language":"Python","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/wakataw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-10-03T09:22:03.000Z","updated_at":"2025-11-08T19:22:20.000Z","dependencies_parsed_at":"2023-12-08T07:41:55.516Z","dependency_job_id":"7edefa39-3a01-4af6-8423-2b7995aedfcc","html_url":"https://github.com/wakataw/pyproc","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/wakataw/pyproc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakataw%2Fpyproc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakataw%2Fpyproc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakataw%2Fpyproc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakataw%2Fpyproc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wakataw","download_url":"https://codeload.github.com/wakataw/pyproc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakataw%2Fpyproc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28493213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["data","e-procurement","lkpp","lpse","pengadaan","python","sedot","spse"],"created_at":"2026-01-17T03:36:37.481Z","updated_at":"2026-01-17T03:36:38.119Z","avatar_url":"https://github.com/wakataw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyProc\n\n![Build Status](https://github.com/wakataw/pyproc/actions/workflows/pyproc-pypi.yml/badge.svg) [![Version](https://img.shields.io/badge/version-v0.2a-red)](https://pypi.org/project/pyproc/) [![Python \u003e=3.9](https://img.shields.io/badge/python-\u003e=3.9-yellow.svg)](https://www.python.org/downloads/) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/wakataw/pyproc)\n\nPyProc (Python Procurement) merupakan wrapper untuk API SPSE yang ditulis dalam bahasa Python. Sistem Pengadaan Secara Elektronik (SPSE) SPSE merupakan aplikasi e-Procurement yang dikembangkan oleh LKPP untuk digunakan oleh LPSE di instansi pemerintah seluruh Indonesia.\n\n\u003e DISCLAIMER: \n\u003e \n\u003e Penulis tidak terafiliasi dengan pengembang SPSE atau pemilik aplikasi SPSE. Software ini dikembangkan dengan tujuan akademis, bentuk pengawasan oleh masyarakat, dan membantu pengusaha untuk mempermudah otomasi perolehan informasi pengadaan dari pemerintah.\n\u003e \n\u003e Penggunaan yang tidak wajar dan mengganggu sebagian atau seluruh fungsi aplikasi SPSE pada satuan kerja menjadi tanggung jawab masing-masing pengguna.\n\u003e \n\u003e PyProc ada karena SPSE ada, jadi gunakanlah dengan bijak dan secukupnya.\n\n## Pemasangan\n\nPemasangan PyProc via `pip`:\n```bash\n$ pip install pyproc\n```\n\nUpgrade PyProc via `pip`:\n```bash\n$ pip install pyproc --upgrade\n```\n\nInstalasi versi unstable:\n```bash\n$ pip install git+https://github.com/wakataw/pyproc.git\n```\n\n## Penggunaan Command Line Interface\n\n### Download Data LPSE\nFormat Command\n```bash\n$ pyproc [ARGUMENT] DAFTAR_LPSE\n```\n**Arguments**\n\n| argumen                     | contoh                                      | diperlukan | default        | keterangan                                                                                                                                                                                                                                                                                                                                                                         |\n|-----------------------------|---------------------------------------------|------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `DAFTAR_LPSE`               | `pyproc pu`                                 | Ya         | -              | Daftar alamat LPSE yang akan diunduh. \u003cbr\u003e[Format Daftar LPSE](#format-daftar-lpse-lanjutan)                                                                                                                                                                                                                                                                                       |\n| `-h --help`                 | `pyproc --help`                             | optional   | -              | menampilkan keterangan dan bantuan                                                                                                                                                                                                                                                                                                                                                 |\n| `-k --keyword`              | `pyproc --keyword \"mobil dinas\" ...`        | optional   | -              | filter pencarian index paket berdasarkan kata kunci tertentu                                                                                                                                                                                                                                                                                                                       |\n| `-t --tahun-anggaran`       | `pyproc --tahun-anggaran 2021 ...`          | optional   | Tahun Berjalan | Filter pencarian index paket berdasarkan tahun anggaran tertentu. Fungsi ini hanya berlaku mulai dari SPSE 4.4. \u003cbr\u003e\u003cbr\u003eFormat Penulisan: \u003cbr\u003e**ALL**: mengunduh seluruh data \u003cbr\u003e**2021**: mengunduh data untuk tahun 2021 \u003cbr\u003e**2015,2018,2019**: mengunduh data untuk tahun 2015, 2018, dan 2019\u003cbr\u003e**2011-2020** mengunduh data untuk tahun 2011 s.d. 2020                     |\n| `--kategori`                | `pyproc --kategori PENGADAAN_BARANG ...`    | optional   | -              | Filter pencarian berdasarkan kategori pengadaan. \u003cbr\u003eDaftar kategori: `PENGADAAN_BARANG`, `JASA_KONSULTANSI_BADAN_USAHA_NON_KONSTRUKSI`, `PEKERJAAN_KONSTRUKSI`, `JASA_LAINNYA`, `JASA_KONSULTANSI_PERORANGAN`, `JASA_KONSULTANSI_BADAN_USAHA_KONSTRUKSI`                                                                                                                          |\n| `--nama-penyedia`           | `pyproc --nama-penyedia \"PT SUKA MAJU\" ...` | optional   | -              | Filter pencarian index paket berdasarkan nama penyedia                                                                                                                                                                                                                                                                                                                             |\n| `-c --chunk-size`           | `pyproc --chunk-size 25 ...`                | optional   | 25             | Jumlah daftar paket per halaman yang diunduh. Semakin besar jumlah tidak menjamin proses download semakin cepat. Gunakanlah jumlah data yang wajar sehingga tidak membebani server SPSE.                                                                                                                                                                                           |\n| `-w --workers`              | `pyproc --workers 4 ...`                    | optional   | 8              | Jumlah koneksi yang berjalan secara bersamaan saat mengunduh detil paket dengan maksimal 10 worker.                                                                                                                                                                                                                                                                                |\n| `-x --timeout`              | `pyproc --timeout 60 ...`                   | optional   | 30             | Waktu tunggu jika koneksi lambat (dalam detik)                                                                                                                                                                                                                                                                                                                                     |\n| `-n --non-tender`           | `pyproc --non-tender ...`                   | optional   | FALSE          | Tambahkan argumen ini untuk mengunduh data non-tender/pengadaan langsung                                                                                                                                                                                                                                                                                                           |\n| `-d --index-download-delay` | `pyproc --index-download-delay 5 ...`       | optional   | 1              | Waktu jeda download index paket untuk setiap halaman/batch                                                                                                                                                                                                                                                                                                                         |\n| `-o --output`               | `pyproc --ouput csv ...`                    | optional   | csv            | Jenis data keluaran/hasil dari download. Format yang didukung csv dan json. Karena keterbatasan format, tidak semua data ditampilkan pada format csv. Jika memerlukan data detil yang komprehensif, gunakan format json karena mencangkup semua data detail.                                                                                                                       |\n| `--keep-index`              | `pyproc --keep-index ...`                   | optinal    | FALSE          | pyproc akan membentuk file idx (sqlite3 database) saat proses download dan akan dihapus ketika proses selesai. Tambahkan argumen ini jika tidak ingin menghapus database tersebut.                                                                                                                                                                                                 |\n| `-r --resume`               | `pyproc --resume ...`                       | optinal    | FALSE          | Tambahkan argument ini untuk melanjutkan proses yang gagal (karena internet putus atau gangguan koneksi lainnya). Namun pastikan bahwa seluruh index sudah berhasil diunduh karena argumen --resume akan melewati proses download index.                                                                                                                                           |\n| `-s --sep`                  | `pyproc --sep \";\" kemenkeu`                 | optional   | `;` titik koma | Set custom separator untuk output format csv                                                                                                                                                                                                                                                                                                                                       |\n| `--log`                     | `pyproc --log INFO ...`                     | optional   | INFO           | Argumen untuk setting informasi yang ditampilkan pyproc pada terminal. Daftar nilai yang didukung: \u003cbr\u003e`DEBUG`: menampilkan informasi sedetil mungkin\u003cbr\u003e`INFO`: menampilkan informasi penting saja \u003cbr\u003e`WARNING`: hanya menampilkan informasi yang bersifat warning \u003cbr\u003e`ERROR`: hanya menampilkan error \u003cbr\u003e`CRITICAL`: hanya menampilkan permasalahan yang bersifat kritis saja |\n\n### Format Daftar LPSE (lanjutan)\nPyProc dapat mengunduh data dari 1 atau lebih LPSE. Proses tersebut akan berjalan sesuai dengan nilai `DAFTAR_LPSE` yang diberikan user. Beberapa format yang didukung oleh PyProc adalah sebagai berikut:\n- Download data dengan menyertakan nama file hasil download\n  \n  Untuk set nama file secara manual, gunakan format `\"alamatlpse[titik_koma]namafile\"`.\n  \n  ```bash\n  $ pyproc \"kemenkeu;namafileouputkemenkeu\" --output json\n  ```\n  \n  perintah ini akan mengunduh data LPSE PU dan mengekspor data ke file `namafileouputkemenkeu.json`\n\n- Download data lebih dari 1 LPSE\n  \n  Untuk mengunduh lebih dari 1 lpse secara bersamaan, gunakan format `\"alamat1[koma]alamat2[koma]alamat3\"`\n\n  ```bash\n  $ pyproc jakarta,pu,kemenkeu,sumbarprov\n  ```\n  \n  atau dengan menyertakan namafile dengan format `\"alamat1[titikkoma]nama1[koma]alamat2[titikkoma]nama2\"`\n\n  ```bash\n  $ pyproc \"jakarta;filejakarta,pu:filepu,kemenkeu:filekemenkeu,sumbarprov:filesumbarprov\"\n  ```\n\n  - Download data berdasrakan daftar lpse pada file csv\n  Download paket LPSE dengan sumber alamat dari file\n  ```bash\n  $ pyproc daftarlpse.csv\n\n  # konten daftarlpse.csv\n  sumbarprov\n  pu\n  kemenkeu\n  \n  # konten daftarlpse.csv dengan nama hasil download\n  sumbarprov;lpse-sumbar\n  pu;lpse-pu.csv\n  kemenkeu;lpse-kemenkeu\n  ```\n\n## Penggunaan PyProc Sebagai Package\n\nUntuk dapat menggunakan PyProc, anda harus mengimpornya terlebih dahulu dan menginisiasi objek `Lpse`\n\n```python\nfrom pyproc import Lpse\n\n# Inisiasi objek lpse kementerian pu\nlpse = Lpse('kemenkeu')\n```\n\n### Pencarian Daftar Paket Lelang\n\n```python\nfrom pyproc import Lpse\n\n# Inisiasi objek lpse kementerian pu\nlpse = Lpse('pu')\n\n# mendapatkan daftar paket lelang\ndaftar_lelang = lpse.get_paket_tender(start=0, length=2)\nprint(daftar_lelang)\n\n# pencarian paket non tender (penunjukkan langsung)\ndaftar_pl = lpse.get_paket_non_tender(start=0, length=30)\n```\n\nPencarian Paket dengan mengurutkan berdasarkan kolom tertentu\n```python\nfrom pyproc import Lpse\nfrom pyproc.lpse import By\n\nlpse = Lpse('sumbarprov')\n\n# pencarian daftar lelang, urutkan berdasarkan Harga Perkiraan Sendiri\ndaftar_lelang = lpse.get_paket_tender(start=0, length=30, order=By.HPS)\n```\n\nFilter pencarian paket berdasarkan kategori pengadaan\n```python\nfrom pyproc import Lpse\nfrom pyproc import JenisPengadaan\n\n# Inisiasi objek lpse kementerian padang\nlpse = Lpse('padang')\n\n# Kategori Pengadaan Barang\npaket_pengadaan_barang = lpse.get_paket_tender(start=0, length=30, kategori=JenisPengadaan.PENGADAAN_BARANG)\npaket_konstruksi = lpse.get_paket_tender(start=0, length=30, kategori=JenisPengadaan.PEKERJAAN_KONSTRUKSI)\n\n# dst untuk kategori lainnya\n```\n\n### Pencarian Detil Paket Lelang\n\n```python\nfrom pyproc import Lpse\n\nlpse = Lpse('jakarta')\n\n# mendapatkan semua detil paket lelang\ndetil = lpse.detil_paket_tender(id_paket='48658064')\ndetil.get_all_detil()\nprint(detil)\n\n# mendapatkan hanya pemenang lelang\npemenang = detil.get_pemenang()\nprint(pemenang)\n```\n\n## Uninstall \n\nUntuk uninstall package jalankan perintah berikut:\n```bash\n$ pip uninstall pyproc\n```\n\n## License\nPaket ini di-release di bawah lisensi MIT.\n\n## Donatur ☕️\nOrang-orang yang berjasa menyediakan kopi sehingga pengembangan paket tetap berjalan\n- Angga Rinaldi Rizal (50 cangkir ☕️)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwakataw%2Fpyproc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwakataw%2Fpyproc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwakataw%2Fpyproc/lists"}