{"id":17046485,"url":"https://github.com/reubano/ebay-search-api","last_synced_at":"2025-04-30T13:50:05.646Z","repository":{"id":16423785,"uuid":"19175031","full_name":"reubano/ebay-search-api","owner":"reubano","description":"RESTful API for searching eBay sites","archived":false,"fork":false,"pushed_at":"2017-06-20T11:12:40.000Z","size":608,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T16:39:06.561Z","etag":null,"topics":["api","ebay","ecommerce","featured","flask","search-engine"],"latest_commit_sha":null,"homepage":"https://ebay-search-api.herokuapp.com","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/reubano.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-26T10:45:02.000Z","updated_at":"2024-02-15T21:54:10.000Z","dependencies_parsed_at":"2022-09-17T00:13:06.989Z","dependency_job_id":null,"html_url":"https://github.com/reubano/ebay-search-api","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reubano%2Febay-search-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reubano%2Febay-search-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reubano%2Febay-search-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reubano%2Febay-search-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reubano","download_url":"https://codeload.github.com/reubano/ebay-search-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251714718,"owners_count":21631777,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","ebay","ecommerce","featured","flask","search-engine"],"created_at":"2024-10-14T09:46:24.700Z","updated_at":"2025-04-30T13:50:05.595Z","avatar_url":"https://github.com/reubano.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"eBay Search API |travis|\n========================\n\n.. |travis| image:: https://img.shields.io/travis/reubano/ebay-search-api/master.svg\n    :target: https://travis-ci.org/reubano/ebay-search-api\n\nIntroduction\n------------\n\n`eBay Search API \u003chttp://ebay-search-api.herokuapp.com\u003e`_ is a `Flask \u003chttp://flask.pocoo.org\u003e`_ (`About Flask`_) powered RESTful API wrapper to the `EBay search portal \u003chttps://www.ebay.com/\u003e`_.\n\nRequirements\n------------\n\neBay Search API has been tested and known to work on the following configurations:\n\n- MacOS X 10.9.5\n- Ubuntu 14.04 LTS\n- Python 2.7, 3.5, and 3.6\n\nFramework\n---------\n\nFlask Extensions\n^^^^^^^^^^^^^^^^\n\n- Route caching with `Flask-Caching \u003chttps://pythonhosted.org/Flask-Caching/\u003e`_.\n- GZIPed responses with `Flask-Compress \u003chttps://github.com/libwilliam/flask-compress\u003e`_.\n- CORS support with `Flask-Cors \u003chttps://flask-cors.readthedocs.io/en/latest/\u003e`_\n- Enforced SSL with `Flask-SSLify \u003chttps://github.com/kennethreitz/flask-sslify\u003e`_\n\nProduction Server\n^^^^^^^^^^^^^^^^^\n\n- `Memcached \u003chttps://memcached.org/\u003e`_\n- `gunicorn \u003chttps://gunicorn.org/\u003e`_\n- `gevent \u003chttps://www.gevent.org/\u003e`_\n\nQuick Start\n-----------\n\nPreparation\n^^^^^^^^^^^\n\n*Check that the correct version of Python is installed*\n\n.. code-block:: bash\n\n    python -V\n\nActivate your `virtualenv \u003chttp://docs.python-guide.org/en/latest/dev/virtualenvs/#virtualenvironments-ref\u003e`_\n\nInstallation\n^^^^^^^^^^^^\n\n*Clone the repo*\n\n.. code-block:: bash\n\n    git clone git@github.com:reubano/ebay-search-api.git\n\n*Install requirements*\n\n.. code-block:: bash\n\n    cd ebay-search-api\n    pip install -r base-requirements.txt\n\n*Run API server*\n\n.. code-block:: bash\n\n    manage serve\n\nNow *view the API documentation* at ``http://localhost:5000``\n\nScripts\n-------\n\neBay Search API comes with a built in script manager ``manage.py``. Use it to\nstart the server, run tests, and initialize the database.\n\nUsage\n^^^^^\n\n.. code-block:: bash\n\n    manage \u003ccommand\u003e [command-options] [manager-options]\n\nExamples\n^^^^^^^^\n\n*Start server*\n\n.. code-block:: bash\n\n    manage serve\n\n*Run tests*\n\n.. code-block:: bash\n\n    manage test\n\n*Run linters*\n\n.. code-block:: bash\n\n    manage lint\n\nManager options\n^^^^^^^^^^^^^^^\n\n      -m MODE, --cfgmode=MODE  set the configuration mode, must be one of\n                               ['Production', 'Development', 'Test'] defaults\n                               to 'Development'. See `config.py` for details\n      -f FILE, --cfgfile=FILE  set the configuration file (absolute path)\n\nCommands\n^^^^^^^^\n\n    runserver           Runs the flask development server\n    serve               Runs the flask development server\n    check               Check staged changes for lint errors\n    lint                Check style with linters\n    test                Run nose, tox, and script tests\n    add_keys            Deploy staging app\n    deploy              Deploy staging app\n    install             Install requirements\n    shell               Runs a Python shell inside Flask application context.\n\nCommand options\n^^^^^^^^^^^^^^^\n\nType ``manage \u003ccommand\u003e --help`` to view any command's options\n\n.. code-block:: bash\n\n    manage manage serve --help\n\nOutput\n\n    usage: manage serve [-?] [-t] [-T TIMEOUT] [-l] [-o] [-p PORT] [-h HOST]\n\n    Runs the flask development server\n\n    optional arguments:\n      -?, --help            show this help message and exit\n      -t, --threaded        Run multiple threads\n      -T TIMEOUT, --timeout TIMEOUT\n                            Fetch timeout\n      -l, --live            Use live data\n      -o, --offline         Offline mode\n      -p PORT, --port PORT  The server port\n      -h HOST, --host HOST  The server host\n\nExample\n^^^^^^^\n\n*Start production server on port 1000*\n\n.. code-block:: bash\n\n    manage serve -p 1000 -m Production\n\nConfiguration\n-------------\n\nConfig Variables\n^^^^^^^^^^^^^^^^\n\nThe following configurations settings are available in ``config.py``:\n\n======================== ================================================================ =========================================\nvariable                 description                                                      default value\n======================== ================================================================ =========================================\n__DOMAIN__               your custom domain                                               nerevu.com\nCACHE_TIMEOUT            amount of time (in seconds) to cache responses                   60 minutes\nAPI_RESULTS_PER_PAGE     the number of results returned per page                          24\nAPI_MAX_RESULTS_PER_PAGE the maximum number of results returned per page                  1024\nAPI_URL_PREFIX           string to prefix each resource in the api url                    '/api/v1'\n======================== ================================================================ =========================================\n\nEnvironment Variables\n^^^^^^^^^^^^^^^^^^^^^\n\neBay Search API references the following environment variables:\n\n======================== ==================== ===========\nvariable                 description          environment\n======================== ==================== ===========\nEBAY_DEV_ID              your eBay device ID\nEBAY_LIVE_APP_ID         your eBay AppID      Production\nEBAY_LIVE_CERT_ID        your eBay CertID     Production\nEBAY_LIVE_TOKEN          your eBay Token      Production\nEBAY_SB_APP_ID           your eBay AppID      Sandbox\nEBAY_SB_CERT_ID          your eBay CertID     Sandbox\nEBAY_SB_TOKEN            your eBay Token      Sandbox\n======================== ==================== ===========\n\nTo set an environment variable, e.g. MY_ENV, *do the following*:\n\n.. code-block:: bash\n\n    echo 'export MY_ENV=value' \u003e\u003e ~/.profile\n\nDocumentation\n-------------\n\nFor a list of available resources, example requests and responses, and code samples,\nview the `online documentation \u003chttps://ebay-search-api.herokuapp.com/\u003e`_.\n\nAdvanced Installation\n---------------------\n\nProduction Server\n^^^^^^^^^^^^^^^^^\n\nPreparation\n~~~~~~~~~~~\n\nGetting ``gevent`` up and running is a bit tricky so follow these instructions carefully.\n\nTo use ``gevent``, you first need to install ``libevent``.\n\n*Linux*\n\n.. code-block:: bash\n\n    apt-get install libevent-dev\n\n*Mac OS X via* `homebrew \u003chttp://mxcl.github.com/homebrew/\u003e`_\n\n.. code-block:: bash\n\n    brew install libevent\n\n*Mac OS X via* `macports \u003chttp://www.macports.com/\u003e`_\n\n.. code-block:: bash\n\n    sudo port install libevent\n\n*Mac OS X via DMG*\n\n`download on Rudix \u003chttp://rudix.org/packages-jkl.html#libevent\u003e`_\n\n\nInstallation\n~~~~~~~~~~~~\n\nNow that libevent is handy, *install the remaining requirements*\n\n.. code-block:: bash\n\n    pip install -r requirements.txt\n\nOr via the following if you installed libevent from macports\n\n.. code-block:: bash\n\n    sudo CFLAGS=\"-I /opt/local/include -L /opt/local/lib\" pip install gevent\n    pip install -r requirements.txt\n\nForeman\n~~~~~~~\n\nFinally, *install foreman*\n\n.. code-block:: bash\n\n    sudo gem install foreman\n\nNow, you can *run the application* locally\n\n.. code-block:: bash\n\n    foreman start\n\nYou can also *specify what port you'd prefer to use*\n\n.. code-block:: bash\n\n    foreman start -p 5555\n\nDeployment\n^^^^^^^^^^\n\nIf you haven't `signed up for Heroku \u003chttps://api.heroku.com/signup\u003e`_, go\nahead and do that. You should then be able to `add your SSH key to\nHeroku \u003chttp://devcenter.heroku.com/articles/quickstart\u003e`_, and also\n`heroku login` from the commandline.\n\n*Install heroku and create your app*\n\n.. code-block:: bash\n\n    sudo gem install heroku\n    heroku create -s cedar app_name\n\n*Add memcachier*\n\n.. code-block:: bash\n\n    heroku addons:add memcachier\n\n*Push to Heroku*\n\n.. code-block:: bash\n\n    git push heroku master\n\n*Start the web instance and make sure the application is up and running*\n\n.. code-block:: bash\n\n    heroku ps:scale web=1\n    heroku ps\n\nNow, we can *view the application in our web browser*\n\n.. code-block:: bash\n\n    heroku open\n\nAnd anytime you want to redeploy, it's as simple as ``git push heroku master``.\nOnce you are done coding, deactivate your virtualenv with ``deactivate``.\n\nDirectory Structure\n-------------------\n\n.. code-block:: bash\n\n    $ tree . | sed 's/+----/├──/; /.pyc/d; /.DS_Store/d'\n    .\n    ├── LICENSE\n    ├── MANIFEST.in\n    ├── Procfile\n    ├── README.rst\n    ├── app\n    │   ├── __init__.py\n    │   ├── api.py\n    │   ├── doc_parser.py\n    │   ├── frs.py\n    │   ├── helper.py\n    │   ├── static\n    │   │   ├── favicon-16x16.png\n    │   │   ├── favicon-32x32.png\n    │   │   ├── index.html\n    │   │   ├── oauth2-redirect.html\n    │   │   ├── swagger-ui-bundle.js\n    │   │   ├── swagger-ui-bundle.js.map\n    │   │   ├── swagger-ui-standalone-preset.js\n    │   │   ├── swagger-ui-standalone-preset.js.map\n    │   │   ├── swagger-ui.css\n    │   │   ├── swagger-ui.css.map\n    │   │   ├── swagger-ui.js\n    │   │   └── swagger-ui.js.map\n    │   ├── templates\n    │   │   └── index.html\n    │   ├── tests\n    │   │   ├── standard.rc\n    │   │   ├── test.sh\n    │   │   ├── test_site.py\n    │   ├── utils.py\n    │   ├── views.py\n    ├── base-requirements.txt\n    ├── config.py\n    ├── dev-requirements.txt\n    ├── helpers\n    │   ├── check-stage\n    │   ├── clean\n    │   ├── pippy\n    │   ├── srcdist\n    │   └── wheel\n    ├── manage.py\n    ├── py2-requirements.txt\n    ├── requirements.txt\n    ├── runtime.txt\n    ├── setup.cfg\n    ├── setup.py\n    ├── test.txt\n    └── tox.ini\n\nContributing\n------------\n\n*First time*\n\n1. Fork\n2. Clone\n3. Code (if you are having problems committing because of git pre-commit\n   hook errors, just run ``manage check`` to see what the issues are.)\n4. Use tabs **not** spaces\n5. Add upstream ``git remote add upstream https://github.com/reubano/ebay-search-api.git``\n6. Rebase ``git rebase upstream/master``\n7. Test ``manage test``\n8. Push ``git push origin master``\n9. Submit a pull request\n\n*Continuing*\n\n1. Code (if you are having problems committing because of git pre-commit\n   hook errors, just run ``manage check`` to see what the issues are.)\n2. Use tabs **not** spaces\n3. Update upstream ``git fetch upstream``\n4. Rebase ``git rebase upstream/master``\n5. Test ``manage test``\n6. Push ``git push origin master``\n7. Submit a pull request\n\nContributors\n------------\n\n.. code-block:: bash\n\n    $ git shortlog -sn\n        95  Reuben Cummings\n\nAbout Flask\n-----------\n\n`Flask \u003chttp://flask.pocoo.org\u003e`_ is a BSD-licensed microframework for Python based on\n`Werkzeug \u003chttp://werkzeug.pocoo.org/\u003e`_, `Jinja2 \u003chttp://jinja.pocoo.org\u003e`_ and good intentions.\n\nLicense\n-------\n\neBay Search API is distributed under the `MIT License \u003chttp://opensource.org/licenses/MIT\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freubano%2Febay-search-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freubano%2Febay-search-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freubano%2Febay-search-api/lists"}