Kay Sackey 60983f0fde Walk Abstract Syntax Tree to find imports
Rationale: Using regex means that you can only find the imports that are at the top of the page without any spaces between them. There's likely other issues, but that was the one that bit me. 

Caveat: Old method would parse files with broken syntax. This one will not.
2016-01-28 01:04:58 -05:00
2015-04-22 18:40:17 +02:00
2015-10-20 19:51:39 +09:00
2015-04-22 18:40:17 +02:00
2015-04-24 10:38:08 +02:00
2015-04-22 18:40:17 +02:00
2015-04-22 18:40:17 +02:00
2016-01-20 09:38:41 +01:00
2015-04-22 18:38:14 +02:00
2015-10-20 19:47:22 +09:00
2015-04-22 20:28:06 +02:00
2015-04-22 18:40:17 +02:00
2015-07-13 22:49:49 +08:00
2015-04-22 18:40:17 +02:00

===============================
``pipreqs`` - Generate requirements.txt file for any project based on imports
===============================

.. image:: https://img.shields.io/travis/bndr/pipreqs.svg
        :target: https://travis-ci.org/bndr/pipreqs
      
        
.. image:: https://img.shields.io/pypi/v/pipreqs.svg
        :target: https://pypi.python.org/pypi/pipreqs

.. image:: https://img.shields.io/pypi/dm/pipreqs.svg
        :target: https://pypi.python.org/pypi/pipreqs
        
.. image:: https://img.shields.io/coveralls/bndr/pipreqs.svg 
        :target: https://coveralls.io/r/bndr/pipreqs
  
        
.. image:: https://img.shields.io/pypi/l/pipreqs.svg 
        :target: https://pypi.python.org/pypi/pipreqs

        

Installation
------------

::

    pip install pipreqs

Usage
-----

::

    Usage:
        pipreqs [options] <path>

    Options:
        --use-local           Use ONLY local package information instead of querying PyPI
        --pypi-server         Use custom PyPi server
        --proxy               Use Proxy, parameter will be passed to requests library
        --debug               Print debug information
        --encoding <charset>  Use encoding parameter for file open
        --savepath <file>     Save the list of requirements in the given file
        --force               Overwrite existing requirements.txt

Example
-------

::

    $ pipreqs /home/project/location
    Successfully saved requirements file in /home/project/location/requirements.txt

Contents of requirements.txt

::

    wheel==0.23.0
    Yarg==0.1.9
    docopt==0.6.2
    
Why not pip freeze?
-------------------

- ``pip freeze`` only saves the packages that are installed with ``pip install`` in your environment. 
- pip freeze saves all packages in the environment including those that you don't use in your current project. (if you don't have virtualenv)
- and sometimes you just need to create requirements.txt for a new project without installing modules.
Description
No description provided
Readme Apache-2.0
Languages
Python 88.3%
Jupyter Notebook 8.6%
Makefile 3.1%