-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Packages with multiple LICENSES files not shown in --with-license-file #71
Comments
@johnthagen Yes, I am aware of the problem. This issue needs careful consideration.The type may change in structured formats like JSON. For example, I have the idea of introducing a new option Do you have any other ideas? |
Another idea could be to put multiple license files in the same column and separate them them with some kind of deliminator. That way there would still be single rows for each package, but The issue I see with Maybe #60 and this together could be part of a 3.0 release that tries to make the default experience for |
Certainly, I think it is desirable for many users to change the behavior in the 3.0 release. |
One easy idea for the license file contents themselves could be to concatenate them together with a newline in-between. |
Another popular package with multiple license files is Matplotlib: https://github.com/matplotlib/matplotlib/tree/master/LICENSE (Note that currently matplotlib doesn't bundle it's LICENSE files correctly (matplotlib/matplotlib#18296) but once that is corrected, it would be another example that |
@johnthagen Thanks for all the ideas! I have started work today on the release of version 3.0.0. This release allows for breaking changes. If you have ideas for changes to the Version 3.0.0 is expected to ship around the time Python 3.5 becomes EOL. That's 2020-09-13, according to the Ptyhon team's announcement. |
@raimon49 After thinking about this issue, the only way I could think of to make this work while maintaining a "one row per package" in the table layout would be to concatenate This would look something like:
and
What do you think of this technique? |
@johnthagen I agree with you about the Plain or Plain Vertical format. The difficulty is the formatting, where
We have to support users who use these formats. |
@raimon49 For the LICENSE files themselves using |
We could also consider what you suggested |
For HTML, JSON, and CSV, could we use a different deliminator or just use a raw [
{
"licenses": ["BSD"],
"name": "Django",
"version": "2.0.2",
"LicensePath": "/path/to/LICENSE1\n/path/to/LICENSE2"
},
] Then users can split on the deliminator. We could also use another character, such as [
{
"licenses": ["BSD"],
"name": "Django",
"version": "2.0.2",
"LicensePath": "/path/to/LICENSE1;/path/to/LICENSE2"
},
] |
JSON can be represented as data in a list. [
{
"licenses": ["BSD"],
"name": "Django",
"version": "2.0.2",
"LicensePath": ["/path/to/LICENSE1", "/path/to/LICENSE2"],
"LicenseText ": ["LICENSE Text 1", "ICENSE Text 2"]
},
] Users will find it useful to be able to pass the output to the Some kind of delimiter is required in CSV. But for example It's a very vexing issue... |
Ah yes, that is even better for JSON, nice. Perhaps we should try to enumerate a list of workable solutions as we go. I will start a list in the first comment to track this. |
It seems hard to imagine someone could use For example, when I first tried to use
And then the RST and plaintext are ingested by Sphinx: the RST is rendered nicely, and the plain-vertical is just shown as monospace text. The end result is nice. All that to say, maybe we should consider specifically not supporting certain formats with |
I propose Formats supported with
<table>
<tr>
<th>Name</th>
<th>Version</th>
<th>License</th>
<th>LicenseFiles</th>
</tr>
<tr>
<td>Django</td>
<td>2.0.2</td>
<td>BSD</td>
<td>
<ul>
<li>License File Contents ...</li>
<li>License File 2 Contents ...</li>
</ul>
</td>
</tr>
</table>
[
{
"licenses": ["BSD"],
"name": "Django",
"version": "2.0.2",
"LicensePath": ["/path/to/LICENSE1", "/path/to/LICENSE2"],
"LicenseText ": ["LICENSE Text 1", "ICENSE Text 2"]
},
]
Other formats will result in a CLI error if combined with |
The
opencv-python-headless
wheels include two license files,LICENSE.txt
andLICENSE-3RD-PARTY.txt
, but onlyLICENSE-3RD-PARTY.txt
is displayed. Could support be added to display both license files since some packages likeopencv
have multiple files covering different parts of the library.\n
\n\n
[]
[]
;
The text was updated successfully, but these errors were encountered: