Metadata-Version: 2.1
Name: pyproc
Version: 0.1.7
Summary: Python SPSEv4 wrapper
Home-page: https://gitlab.com/wakataw/pyproc
Author: Agung Pratama
Author-email: agungpratama1001@gmail.com
License: MIT
Project-URL: Bug Reports, https://gitlab.com/wakataw/pyproc/issues
Project-URL: Source, https://gitlab.com/wakataw/pyproc
Description: # PyProc
        
        [![Build Status](https://travis-ci.org/wakataw/pyproc.svg?branch=master)](https://travis-ci.org/wakataw/pyproc) [![Version](https://img.shields.io/badge/version-v0.1.7-blue)](https://travis-ci.org/wakataw/pyproc) [![Python >=3.5](https://img.shields.io/badge/python->=3.5-yellow.svg)](https://www.python.org/downloads/) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badge/)
        
        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
        
           ```bash
           $ pip install pyproc
           ```
        
        2. Download Data LPSE
        
           ```bash
           $ pyproc --host lpse.pu.go.id
           ```
        
        3. Profit???
        
        ## Pemasangan
        
        Pemasangan PyProc via `pip`:
        ```bash
        $ pip install pyproc
        ```
        
        ## Testing
        
        Anda bisa menjalankan beberapa Test Case untuk memastikan semua fungsi berjalan dengan baik.
        Clone repository ini lalu jalankan perintah berikut:
        
        ```bash
        $ python setup.py test
        ```
        
        ## Penggunaan Command Line Interface
        
        ```bash
        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
        ```bash
        $ 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
        ```bash
        $ pyproc --tahun-anggaran 2017 --host lpse.pu.go.id 
        ```
        
        Download paket pengadaan non tender (penunjukkan langsung)
        ```bash
        $ pyproc --non-tender --host lpse.jakarta.go.id
        ```
        
        Download paket pengadaan tender untuk rentang tahun anggaran tertentu
        ```bash
        $ 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
        ```bash
        $ 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
        ```bash
        $ 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`
        
        ```python
        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
        
        ```python
        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
        ```python
        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
        ```python
        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
        
        ```python
        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:
        ```bash
        $ 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.
Keywords: api,spse,lpse,pengadaan,procurement,lkpp,lelang,tender
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Natural Language :: English
Classifier: Natural Language :: Indonesian
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.5
Description-Content-Type: text/markdown
