This file is indexed.

/usr/lib/python3/dist-packages/swiglpk-1.4.4.egg-info is in python3-swiglpk 1.4.4-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Metadata-Version: 1.1
Name: swiglpk
Version: 1.4.4
Summary: swiglpk - Simple swig bindings for the GNU Linear Programming Kit
Home-page: https://github.com/biosustain/swiglpk
Author: Nikolaus Sonnenschein
Author-email: niko.sonnenschein@gmail.com
License: GPL v3
Description: swiglpk
        =======
        
        *Plain python bindings for the GNU Linear Programming Kit (GLPK)*
        
        |PyPI| |License| |Build Status| |AppVeyor Status|
        
        Why?
        ~~~~
        
        *swiglpk* is not a high-level wrapper for GLPK (take a look at
        `optlang <https://github.com/biosustain/optlang>`__ if you are
        interested in a python-based mathematical programming language). It just
        provides plain vanilla `swig <http://www.swig.org/>`__ bindings to the
        underlying C library. In constrast to other GLPK wrappers for python
        (e.g. `PyGLPK <http://tfinley.net/software/pyglpk/>`__,
        `Python-GLPK <http://www.dcc.fc.up.pt/~jpp/code/python-glpk/>`__,
        `ctypes-glpk <https://code.google.com/p/ctypes-glpk/>`__,
        `ecyglpki <https://github.com/equaeghe/ecyglpki>`__ etc.) it is fairly
        version agnostic: it will try to guess the location of the glpk.h header
        file (using ``which glpsol``) and then compile the extension for your
        particular GLPK installation.
        
        Please show us some love by staring this repo if you find swiglpk useful!
        
        Installation
        ~~~~~~~~~~~~
        
        ::
        
            pip install swiglpk
        
        That's it. swiglpk comes with binary wheels for Windows, Mac, and Linux. No installation of third-party dependencies necessary.
        
        Example
        ~~~~~~~
        
        Running the following (slightly adapted) example from the `GLPK
        manual <http://kam.mff.cuni.cz/~elias/glpk.pdf>`__ ...
        
        ::
        
            from swiglpk import *
        
            ia = intArray(1+1000); ja = intArray(1+1000);
            ar = doubleArray(1+1000);
            lp = glp_create_prob();
            glp_set_prob_name(lp, "sample");
            glp_set_obj_dir(lp, GLP_MAX);
            glp_add_rows(lp, 3);
            glp_set_row_name(lp, 1, "p");
            glp_set_row_bnds(lp, 1, GLP_UP, 0.0, 100.0);
            glp_set_row_name(lp, 2, "q");
            glp_set_row_bnds(lp, 2, GLP_UP, 0.0, 600.0);
            glp_set_row_name(lp, 3, "r");
            glp_set_row_bnds(lp, 3, GLP_UP, 0.0, 300.0);
            glp_add_cols(lp, 3);
            glp_set_col_name(lp, 1, "x1");
            glp_set_col_bnds(lp, 1, GLP_LO, 0.0, 0.0);
            glp_set_obj_coef(lp, 1, 10.0);
            glp_set_col_name(lp, 2, "x2");
            glp_set_col_bnds(lp, 2, GLP_LO, 0.0, 0.0);
            glp_set_obj_coef(lp, 2, 6.0);
            glp_set_col_name(lp, 3, "x3");
            glp_set_col_bnds(lp, 3, GLP_LO, 0.0, 0.0);
            glp_set_obj_coef(lp, 3, 4.0);
            ia[1] = 1; ja[1] = 1; ar[1] = 1.0; # a[1,1] = 1
            ia[2] = 1; ja[2] = 2; ar[2] = 1.0; # a[1,2] = 1
            ia[3] = 1; ja[3] = 3; ar[3] = 1.0; # a[1,3] = 1
            ia[4] = 2; ja[4] = 1; ar[4] = 10.0; # a[2,1] = 10
            ia[5] = 3; ja[5] = 1; ar[5] = 2.0; # a[3,1] = 2
            ia[6] = 2; ja[6] = 2; ar[6] = 4.0; # a[2,2] = 4
            ia[7] = 3; ja[7] = 2; ar[7] = 2.0; # a[3,2] = 2
            ia[8] = 2; ja[8] = 3; ar[8] = 5.0; # a[2,3] = 5
            ia[9] = 3; ja[9] = 3; ar[9] = 6.0; # a[3,3] = 6
            glp_load_matrix(lp, 9, ia, ja, ar);
            glp_simplex(lp, None);
            Z = glp_get_obj_val(lp);
            x1 = glp_get_col_prim(lp, 1);
            x2 = glp_get_col_prim(lp, 2);
            x3 = glp_get_col_prim(lp, 3);
            print("\nZ = %g; x1 = %g; x2 = %g; x3 = %g\n" % (Z, x1, x2, x3))
            glp_delete_prob(lp);
        
        ... will produce the following output (the example can also be found at
        examples/example.py):
        
        ::
        
            GLPK Simplex Optimizer, v4.52
            3 rows, 3 columns, 9 non-zeros
            *     0: obj =   0.000000000e+00  infeas =  0.000e+00 (0)
            *     2: obj =   7.333333333e+02  infeas =  0.000e+00 (0)
            OPTIMAL LP SOLUTION FOUND
        
            Z = 733.333; x1 = 33.3333; x2 = 66.6667; x3 = 0
        
        Pretty ugly right? Consider using `optlang <https://github.com/biosustain/optlang>`__ for formulating and solving your optimization problems.
        
        Documentation
        ~~~~~~~~~~~~~
        
        You can find documentation on GLPK's C API `here <http://kam.mff.cuni.cz/~elias/glpk.pdf>`__
        
        Development
        ~~~~~~~~~~~
        
        You still want to install it from source? Then you'll need to install the following
        dependencies first.
        
        -  GLPK
        -  swig
        
        If you're on OS X, swig and GLPK can easily be installed with
        `homebrew <http://brew.sh/>`__.
        
        ::
        
            brew install swig glpk
        
        If you're using ubuntu linux, you can install swig and GLPK using
        ``apt-get``.
        
        ::
        
            apt-get install glpk-utils libglpk-dev swig
        
        If you're on Windows, you are on your own (checkout the `appveyor.yml <https://github.com/biosustain/swiglpk/blob/master/appveyor.yml>`_ config file for directions).
        
        Then clone the repo and run the following.
        ::
        
            python setup.py install
            
        
        .. |PyPI| image:: https://img.shields.io/pypi/v/swiglpk.svg
           :target: https://pypi.python.org/pypi/swiglpk
        .. |License| image:: https://img.shields.io/badge/License-GPL%20v3-blue.svg
           :target: http://www.gnu.org/licenses/gpl-3.0
        .. |Build Status| image:: https://travis-ci.org/biosustain/swiglpk.svg?branch=master
           :target: https://travis-ci.org/biosustain/swiglpk
        .. |AppVeyor Status| image:: https://ci.appveyor.com/api/projects/status/mhj0r133kx7wy908/branch/master?svg=true
           :target: https://ci.appveyor.com/project/phantomas1234/swiglpk/branch/master
        
Keywords: optimization swig glpk
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)