From f13f8a03e7f9c313d34e64431f1e7b19ee3258b8 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 20 Mar 2025 17:20:21 -0400 Subject: [PATCH 1/4] Fix license, add support section --- LICENSE | 222 +++++++++++++++++++++++++++++++++++++++----- README.md | 7 ++ docs/assets/CCQ.png | Bin 0 -> 41841 bytes docs/make_index.jl | 11 +++ docs/make_readme.jl | 9 ++ examples/README.jl | 6 ++ 6 files changed, 234 insertions(+), 21 deletions(-) create mode 100644 docs/assets/CCQ.png diff --git a/LICENSE b/LICENSE index 89cf357..eaf440a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,201 @@ -MIT License - -Copyright (c) 2025 ITensor developers - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2025 The Simons Foundation, Inc. - All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md index 68a60d3..7a90b26 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,13 @@ [![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle) [![Aqua](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl) +## Support + +Flatiron Center for Computational Quantum Physics logo. + +SparseArraysBase.jl is supported by the Flatiron Institute, a division of the Simons Foundation. + + ## Installation instructions This package resides in the `ITensor/ITensorRegistry` local registry. diff --git a/docs/assets/CCQ.png b/docs/assets/CCQ.png new file mode 100644 index 0000000000000000000000000000000000000000..febbb08553b970bf0695981bd562ee781c2f0d8c GIT binary patch literal 41841 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 + ``` + """ + content = replace(content, "{CCQ_LOGO}" => include_ccq_logo) + return content +end + Literate.markdown( joinpath(pkgdir(SparseArraysBase), "examples", "README.jl"), joinpath(pkgdir(SparseArraysBase), "docs", "src"); flavor=Literate.DocumenterFlavor(), name="index", + postprocess=ccq_logo, ) diff --git a/docs/make_readme.jl b/docs/make_readme.jl index b53bfcf..84ac379 100644 --- a/docs/make_readme.jl +++ b/docs/make_readme.jl @@ -1,9 +1,18 @@ using Literate: Literate using SparseArraysBase: SparseArraysBase +function ccq_logo(content) + include_ccq_logo = """ + Flatiron Center for Computational Quantum Physics logo. + """ + content = replace(content, "{CCQ_LOGO}" => include_ccq_logo) + return content +end + Literate.markdown( joinpath(pkgdir(SparseArraysBase), "examples", "README.jl"), joinpath(pkgdir(SparseArraysBase)); flavor=Literate.CommonMarkFlavor(), name="README", + preprocess=ccq_logo, ) diff --git a/examples/README.jl b/examples/README.jl index eb42f94..9887369 100644 --- a/examples/README.jl +++ b/examples/README.jl @@ -7,6 +7,12 @@ # [![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle) # [![Aqua](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl) +# ## Support +# +# Flatiron Center for Computational Quantum Physics logo. +# +# SparseArraysBase.jl is supported by the Flatiron Institute, a division of the Simons Foundation. + # ## Installation instructions # This package resides in the `ITensor/ITensorRegistry` local registry. From 51cdc71ec383e8b85a6b52359d642c0c54c9d136 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 20 Mar 2025 17:20:29 -0400 Subject: [PATCH 2/4] Bump version --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 8edf2d3..af675f7 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SparseArraysBase" uuid = "0d5efcca-f356-4864-8770-e1ed8d78f208" authors = ["ITensor developers and contributors"] -version = "0.5.2" +version = "0.5.3" [deps] Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" From 74536b5b84621f68fb0959d07f73050adee6f3eb Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 20 Mar 2025 17:29:29 -0400 Subject: [PATCH 3/4] Fix README --- README.md | 1 - examples/README.jl | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 7a90b26..977d055 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,6 @@ SparseArraysBase.jl is supported by the Flatiron Institute, a division of the Simons Foundation. - ## Installation instructions This package resides in the `ITensor/ITensorRegistry` local registry. diff --git a/examples/README.jl b/examples/README.jl index 9887369..c64bfdb 100644 --- a/examples/README.jl +++ b/examples/README.jl @@ -9,7 +9,7 @@ # ## Support # -# Flatiron Center for Computational Quantum Physics logo. +# {CCQ_LOGO} # # SparseArraysBase.jl is supported by the Flatiron Institute, a division of the Simons Foundation. From 47b2f2e21fabbac6c48d1ea639f6dea78affe6d6 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Thu, 20 Mar 2025 17:34:01 -0400 Subject: [PATCH 4/4] Fix assets location --- docs/{ => src}/assets/CCQ.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{ => src}/assets/CCQ.png (100%) diff --git a/docs/assets/CCQ.png b/docs/src/assets/CCQ.png similarity index 100% rename from docs/assets/CCQ.png rename to docs/src/assets/CCQ.png