Skip to main content

Python SPSEv4 wrapper

Project description

PyProc

Build Status Version Python >=3.5 Open Source Love

PyProc (Python Procurement) merupakan wrapper untuk API SPSE Versi 4 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.

Quickstart

TL;DR

  1. Installasi

    $ pip install pyproc
    
  2. Download Data LPSE

    $ pyproc --host lpse.pu.go.id
    
  3. Profit???

Pemasangan

Pemasangan PyProc via pip:

$ pip install pyproc

Testing

Anda bisa menjalankan beberapa Test Case untuk memastikan semua fungsi berjalan dengan baik. Clone repository ini lalu jalankan perintah berikut:

$ python setup.py test

Penggunaan Command Line Interface

usage: pyproc [-h] [--host LPSE_HOST] [--out OUT] [-r FILENAME]
              [--tahun-anggaran TAHUN_ANGGARAN] [--workers WORKERS]
              [--pool-size POOL_SIZE] [--fetch-size FETCH_SIZE] [--timeout TIMEOUT] 
              [--keep] [--index-download-delay INDEX_DOWNLOAD_DELAY] [--non-tender]
              [--force]

Arguments

argumen diperlukan keterangan
-h, --help optional menampilkan bantuan
--host LPSE_HOST Optional Alamat website aplikasi LPSE, pisahkan dengan , untuk multiple lpse
--out OUT Optional, default nama domain Nama file untuk hasil download LPSE
--read FILENAME, -r FILENAME Optional Membaca daftar alamat lpse dari file
--tahun-anggaran TAHUN_ANGGARAN Optional, default tahun berjalan Filter download hanya untuk tahun yang diberikan
--pool-size POOL_SIZE Optional, default 4 Jumlah koneksi dalam connection pool untuk mendownload index paket
--fetch-size FETCH_SIZE optional, default 30 Jumlah row yang didownload per halaman
--workers WORKERS optional, default 8 Workers untuk mendownload detil pengumuman dan pemenang
--timeout TIMEOUT optional, default 10 (dalam detik) Time out jika server tidak merespon dalam waktu tertentu
--index-download-delay optional, default 1 (dalam detik) Menambahkan delay untuk setiap iterasi halaman index paket
--keep optional, default false saat download berjalan, pyproc akan membentuk sebuah folder yang digunakan sebagai working directory dan akan dihapus jika proses download telah selesai. Gunakan argumen --keep apabila tidak ingin menghapus working directory pyproc.
--non-tender optional, default false Download paket non tender
--force optional, default false PyProc akan menyimpan index paket dan hanya akan melakukan indexing ulang jika terdapat perbedaan antara data terbaru dan index cache. Argumen --force akan selalu menggunakan index terbaru tanpa memperdulikan index cache.

Contoh

Download daftar paket lelang dari https://lpse.pu.go.id untuk tahun berjalan

$ pyproc --host https://lpse.pu.go.id

# atau dengan memberikan nama spesifik untuk hasil download
$ pyproc --host https://lpse.pu.go.id --out hasil_download_lpse_pu.csv

Download daftar paket lelang tahun 2017

$ pyproc --tahun-anggaran 2017 --host lpse.pu.go.id 

Download paket pengadaan non tender (penunjukkan langsung)

$ pyproc --non-tender --host lpse.jakarta.go.id

Download paket pengadaan tender untuk rentang tahun anggaran tertentu

$ pyproc --host lpse.padang.go.id --tahun-anggaran 2017-2019

Download paket pengadaan tender dari 2 lpse dengan set jumlah workers, timeout, fetch size secara manual

$ pyproc --host lpse.pu.go.id,lpse.sumbarprov.go.id --workers 30 --timeout 600 --fetch-size 1000

# jika ingin menambahkan nama file hasil secara manual
$ pyproc --host lpse.pu.go.id;hasil-pu.csv,lpse.sumbarprov.go.id;hasil-sumbar.csv --workers 30 --timeout 600 --fetch-size 1000

Download paket LPSE dengan sumber alamat dari file

$ pyproc -r daftarlpse.csv

# konten daftarlpse.csv
lpse.sumbarprov.go.id
lpse.pu.go.id
lpse.kemenkeu.go.id

# konten daftarlpse.csv dengan nama hasil download
lpse.sumbarprov.go.id;lpse-sumbar.csv
lpse.pu.go.id;lpse-pu.csv
lpse.kemenkeu.go.id;lpse-kemenkeu.csv

Penggunaan PyProc Sebagai Package

Untuk dapat menggunakan PyProc, anda harus mengimpornya terlebih dahulu dan menginisiasi objek Lpse

from pyproc import Lpse

# Inisiasi objek lpse kementerian pu
lpse = Lpse('http://lpse.pu.go.id')

# Print versi dan last update aplikasi SPSE
print(lpse.version)
print(lpse.last_update)

Pencarian Daftar Paket Lelang

from pyproc import Lpse

lpse = Lpse('http://lpse.pu.go.id')

# mendapatkan daftar paket lelang
daftar_lelang = lpse.get_paket_tender(start=0, length=2)
print(daftar_lelang)

# pencarian paket non tender (penunjukkan langsung)
daftar_pl = lpse.get_paket_non_tender(start=0, length=30)

Pencarian Paket dengan mengurutkan berdasarkan kolom tertentu

from pyproc import Lpse
from pyproc.lpse import By

lpse = Lpse('http://lpse.padang.go.id')

# pencarian daftar lelang, urutkan berdasarkan Harga Perkiraan Sendiri
daftar_lelang = lpse.get_paket_tender(start=0, length=30, order=By.HPS)

Filter pencarian paket berdasarkan kategori pengadaan

from pyproc import Lpse
from pyproc import PENGADAAN_BARANG, PEKERJAAN_KONSTRUKSI, JASA_KONSULTANSI, JASA_KONSULTANSI_PERORANGAN, JASA_LAINNYA
lpse = Lpse('http://lpse.padang.go.id')

# Kategori Pengadaan Barang
paket_pengadaan_barang = lpse.get_paket_tender(start=0, length=30, kategori=PENGADAAN_BARANG)
paket_konstruksi = lpse.get_paket_tender(start=0, length=30, kategori=PEKERJAAN_KONSTRUKSI)

# dst untuk kategori lainnya

Pencarian Detil Paket Lelang

from pyproc import Lpse

lpse = Lpse('http://lpse.padang.go.id')

# mendapatkan semua detil paket lelang
detil = lpse.detil_paket_tender(id_paket='48658064')
detil.get_all_detil()
print(detil)

# mendapatkan hanya pemenang lelang
pemenang = detil.get_pemenang()
print(pemenang)

Uninstall

Untuk uninstall package jalankan perintah berikut:

$ pip uninstall pyproc

Pada saat installasi, PyProc akan membentuk folder cache. Untuk clean uninstall hapus manual folder di lokasi berikut:

OS Lokasi
GNU/Linux ~/.pyproc
Windows C:\Users\<username>\.pyproc (asumsi system windows berada di drive C:)

License

Paket ini di-release di bawah lisensi MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyproc-0.1.7.tar.gz (15.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page