summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-nycdb.spec318
-rw-r--r--sources1
3 files changed, 320 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c303e33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/nycdb-0.2.8.tar.gz
diff --git a/python-nycdb.spec b/python-nycdb.spec
new file mode 100644
index 0000000..46252c5
--- /dev/null
+++ b/python-nycdb.spec
@@ -0,0 +1,318 @@
+%global _empty_manifest_terminate_build 0
+Name: python-nycdb
+Version: 0.2.8
+Release: 1
+Summary: database of nyc housing data
+License: AGPL-3.0-or-later
+URL: https://github.com/nycdb/nycdb
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2b/19/10bd8cfee6d53d0a97420d85015bd7a93336f892c176f37e7a1b02bb9904/nycdb-0.2.8.tar.gz
+BuildArch: noarch
+
+Requires: python3-PyYAML
+Requires: python3-requests
+Requires: python3-psycopg2
+Requires: python3-tqdm
+Requires: python3-openpyxl
+Requires: python3-xlrd
+
+%description
+# NYCDB
+
+**a tool for building a database of NYC housing data**
+
+This is a Python library and cli tool for installing, updating and managing NYCDB, a postgres database of NYC Housing Data.
+
+For more background information on this project and links to download copies of full database dump visit: https://github.com/nycdb/nycdb. We use the term **nycdb** to refer to both the python software and the running copy of the postgres database.
+
+## Using the cli tool
+
+You will need python 3.6+ and Postgres. The latest version can be installed from pypi with pip: `python3 -m pip install nycdb`
+
+If the installation is successful, you can view a summary of the tool's options by running `nycdb --help`
+
+To print a list of datasets: ` nycdb --list-datasets`
+
+`nycdb`'s main job is to download datasets and import them into postgres. It does not manage the database for you. You can use the flags `-U/--user`, `-D/--database`, `-P/--password`, and `-H/--host` to instruct nycdb to connect to the correct database. See `nycdb --help` for the defaults.
+
+Example: downloading, loading, and verifying the dataset **hpd_violations**:
+
+``` sh
+nycdb --download hpd_violations
+nycdb --load hpd_violations
+nycdb --verify hpd_violations
+```
+
+You can also verify all datasets: ` nycdb --verify-all `
+
+By default the downloaded data files are is stored in `./data`. Use `--root-dir` to change the location of the data directory.
+
+You can export a `.sql` file for any dataset by using the `--dump` command
+
+## Development
+
+There are two development workflows: one using python virtual environments and one using docker.
+
+### Using docker and docker-compose
+
+To get started all you have to do is run `docker-compose up`.
+
+On the first run Docker will take longer to downloads and build the images. It
+will start a Postgres server on port 5432 of your local machineYou can also press
+<kbd>CTRL</kbd>-<kbd>C</kbd> at any point to stop the server.
+
+In a separate terminal, you will be able to now use the nycdb cli: `docker-compose run nycdb --help`
+
+You can also open a python3 shell: `docker-compose run --entrypoint=python3 nycdb` or run the test suit `docker-compose run --entrypoint="pytest tests" nycdb`
+
+You may also develop on nycdb itself:
+
+* Any changes you make to the tool's source code will automatically be reflected
+ in future invocations of `nycdb` and the test suite.
+* The postgres database server is forwarded to localhost:5432 which you can connect to via a desktop client if you like.
+* If you don't have a desktop Postgres client, you can always run
+ `nycdb --dbshell` to interactively inspect the database with [psql](http://postgresguide.com/utilities/psql.html).
+
+To update the database after adding new packages or dev dependencies, just run `docker-compose up --build --force-recreate --no-deps`. This command will take a bit longer than the regular `docker-compose up` command, but will reinstall packages within the docker container without removing any downloaded files or database data from the docker database.
+
+To stop the database run `docker-compose down`. The downloaded files and database data are stored in docker volumes and are not automatically removed.
+
+However, if you ever want to wipe the database, run `docker-compose down -v`.
+
+### Python3 virtual environments
+
+If you have postgres installed separately, you can use this alternative method without docker:
+
+Setup and active a virtual environment:
+
+``` sh
+python3 -m venv venv
+source venv/bin/activate
+```
+
+Install nycdb: ` pip install -e ./src`
+
+As long as the virtual environment is activated, you can use `nycdb` directly in your shell.
+
+### Adding New Datasets
+
+See the [guide here](ADDING_NEW_DATASETS.md) for the steps to add a new dataset
+
+
+%package -n python3-nycdb
+Summary: database of nyc housing data
+Provides: python-nycdb
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-nycdb
+# NYCDB
+
+**a tool for building a database of NYC housing data**
+
+This is a Python library and cli tool for installing, updating and managing NYCDB, a postgres database of NYC Housing Data.
+
+For more background information on this project and links to download copies of full database dump visit: https://github.com/nycdb/nycdb. We use the term **nycdb** to refer to both the python software and the running copy of the postgres database.
+
+## Using the cli tool
+
+You will need python 3.6+ and Postgres. The latest version can be installed from pypi with pip: `python3 -m pip install nycdb`
+
+If the installation is successful, you can view a summary of the tool's options by running `nycdb --help`
+
+To print a list of datasets: ` nycdb --list-datasets`
+
+`nycdb`'s main job is to download datasets and import them into postgres. It does not manage the database for you. You can use the flags `-U/--user`, `-D/--database`, `-P/--password`, and `-H/--host` to instruct nycdb to connect to the correct database. See `nycdb --help` for the defaults.
+
+Example: downloading, loading, and verifying the dataset **hpd_violations**:
+
+``` sh
+nycdb --download hpd_violations
+nycdb --load hpd_violations
+nycdb --verify hpd_violations
+```
+
+You can also verify all datasets: ` nycdb --verify-all `
+
+By default the downloaded data files are is stored in `./data`. Use `--root-dir` to change the location of the data directory.
+
+You can export a `.sql` file for any dataset by using the `--dump` command
+
+## Development
+
+There are two development workflows: one using python virtual environments and one using docker.
+
+### Using docker and docker-compose
+
+To get started all you have to do is run `docker-compose up`.
+
+On the first run Docker will take longer to downloads and build the images. It
+will start a Postgres server on port 5432 of your local machineYou can also press
+<kbd>CTRL</kbd>-<kbd>C</kbd> at any point to stop the server.
+
+In a separate terminal, you will be able to now use the nycdb cli: `docker-compose run nycdb --help`
+
+You can also open a python3 shell: `docker-compose run --entrypoint=python3 nycdb` or run the test suit `docker-compose run --entrypoint="pytest tests" nycdb`
+
+You may also develop on nycdb itself:
+
+* Any changes you make to the tool's source code will automatically be reflected
+ in future invocations of `nycdb` and the test suite.
+* The postgres database server is forwarded to localhost:5432 which you can connect to via a desktop client if you like.
+* If you don't have a desktop Postgres client, you can always run
+ `nycdb --dbshell` to interactively inspect the database with [psql](http://postgresguide.com/utilities/psql.html).
+
+To update the database after adding new packages or dev dependencies, just run `docker-compose up --build --force-recreate --no-deps`. This command will take a bit longer than the regular `docker-compose up` command, but will reinstall packages within the docker container without removing any downloaded files or database data from the docker database.
+
+To stop the database run `docker-compose down`. The downloaded files and database data are stored in docker volumes and are not automatically removed.
+
+However, if you ever want to wipe the database, run `docker-compose down -v`.
+
+### Python3 virtual environments
+
+If you have postgres installed separately, you can use this alternative method without docker:
+
+Setup and active a virtual environment:
+
+``` sh
+python3 -m venv venv
+source venv/bin/activate
+```
+
+Install nycdb: ` pip install -e ./src`
+
+As long as the virtual environment is activated, you can use `nycdb` directly in your shell.
+
+### Adding New Datasets
+
+See the [guide here](ADDING_NEW_DATASETS.md) for the steps to add a new dataset
+
+
+%package help
+Summary: Development documents and examples for nycdb
+Provides: python3-nycdb-doc
+%description help
+# NYCDB
+
+**a tool for building a database of NYC housing data**
+
+This is a Python library and cli tool for installing, updating and managing NYCDB, a postgres database of NYC Housing Data.
+
+For more background information on this project and links to download copies of full database dump visit: https://github.com/nycdb/nycdb. We use the term **nycdb** to refer to both the python software and the running copy of the postgres database.
+
+## Using the cli tool
+
+You will need python 3.6+ and Postgres. The latest version can be installed from pypi with pip: `python3 -m pip install nycdb`
+
+If the installation is successful, you can view a summary of the tool's options by running `nycdb --help`
+
+To print a list of datasets: ` nycdb --list-datasets`
+
+`nycdb`'s main job is to download datasets and import them into postgres. It does not manage the database for you. You can use the flags `-U/--user`, `-D/--database`, `-P/--password`, and `-H/--host` to instruct nycdb to connect to the correct database. See `nycdb --help` for the defaults.
+
+Example: downloading, loading, and verifying the dataset **hpd_violations**:
+
+``` sh
+nycdb --download hpd_violations
+nycdb --load hpd_violations
+nycdb --verify hpd_violations
+```
+
+You can also verify all datasets: ` nycdb --verify-all `
+
+By default the downloaded data files are is stored in `./data`. Use `--root-dir` to change the location of the data directory.
+
+You can export a `.sql` file for any dataset by using the `--dump` command
+
+## Development
+
+There are two development workflows: one using python virtual environments and one using docker.
+
+### Using docker and docker-compose
+
+To get started all you have to do is run `docker-compose up`.
+
+On the first run Docker will take longer to downloads and build the images. It
+will start a Postgres server on port 5432 of your local machineYou can also press
+<kbd>CTRL</kbd>-<kbd>C</kbd> at any point to stop the server.
+
+In a separate terminal, you will be able to now use the nycdb cli: `docker-compose run nycdb --help`
+
+You can also open a python3 shell: `docker-compose run --entrypoint=python3 nycdb` or run the test suit `docker-compose run --entrypoint="pytest tests" nycdb`
+
+You may also develop on nycdb itself:
+
+* Any changes you make to the tool's source code will automatically be reflected
+ in future invocations of `nycdb` and the test suite.
+* The postgres database server is forwarded to localhost:5432 which you can connect to via a desktop client if you like.
+* If you don't have a desktop Postgres client, you can always run
+ `nycdb --dbshell` to interactively inspect the database with [psql](http://postgresguide.com/utilities/psql.html).
+
+To update the database after adding new packages or dev dependencies, just run `docker-compose up --build --force-recreate --no-deps`. This command will take a bit longer than the regular `docker-compose up` command, but will reinstall packages within the docker container without removing any downloaded files or database data from the docker database.
+
+To stop the database run `docker-compose down`. The downloaded files and database data are stored in docker volumes and are not automatically removed.
+
+However, if you ever want to wipe the database, run `docker-compose down -v`.
+
+### Python3 virtual environments
+
+If you have postgres installed separately, you can use this alternative method without docker:
+
+Setup and active a virtual environment:
+
+``` sh
+python3 -m venv venv
+source venv/bin/activate
+```
+
+Install nycdb: ` pip install -e ./src`
+
+As long as the virtual environment is activated, you can use `nycdb` directly in your shell.
+
+### Adding New Datasets
+
+See the [guide here](ADDING_NEW_DATASETS.md) for the steps to add a new dataset
+
+
+%prep
+%autosetup -n nycdb-0.2.8
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-nycdb -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.8-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..62bf53b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+ca909ead372e23cf3bff5f428fd0de6a nycdb-0.2.8.tar.gz