Skip to content

Remove lower bound version on cpp-argparse environment-dev.yml #271

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 1 addition & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ source activate "xeus-cpp"
```
We will now install the dependencies needed to compile xeux-cpp from source within this environment by executing the following
```bash
mamba install notebook cmake cxx-compiler xeus-zmq nlohmann_json=3.11.3 jupyterlab CppInterOp cpp-argparse">=3.0,<4.0" pugixml doctest -c conda-forge
mamba install notebook cmake cxx-compiler xeus-zmq nlohmann_json=3.11.3 jupyterlab CppInterOp cpp-argparse pugixml doctest -c conda-forge
```
Now you can compile the kernel from the source by executing (replace `$CONDA_PREFIX` with a custom installation prefix if need be)
```bash
Expand Down Expand Up @@ -136,21 +136,6 @@ http://xeus-cpp.readthedocs.io
- [argparse](https://github.com/p-ranav/argparse)
- [CppInterOp](https://github.com/compiler-research/CppInterOp)

| `xeus-cpp` | `xeus-zmq` | `CppInterOp` | `pugixml` | `cpp-argparse`| `nlohmann_json` |
|------------|-----------------|--------------|-----------|---------------|-----------------|
| main | >=3.0.0,<4.0.0 | >=1.5.0 | ~1.8.1 | >=3.0,<4.0 | >=3.11.3,<4.0 |
Copy link
Collaborator

@anutosh491 anutosh491 Mar 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait this table isn't just meant to show restrictions correct ? It meant to show whatever dependencies we currently use too ! So creating a new table and removing cpp-argparse from there might not be the way to go (we still depend on it correct) ? We just need to paste whatever latest cpp-argparse is being used (which can be dynamic if there is any update) so I think >=3,<4 does the job isn't it ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anutosh491 I was basing this on the fact we state the direct dependencies just above in the readme (see https://github.com/compiler-research/xeus-cpp?tab=readme-ov-file#dependencies )

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I always considered that table as a weird way of expressing a list of dependencies and their constrains. Either we drop the entire table or we keep it and keep arg-parse in there. We are not entirely correct that arg-parse is version agnostic because some time ago in some version they introduced a breaking change...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As one of the suggestions I've removed the table in its entirety. I very much doubt anyone is going to go back and build one of these older releases, and if they are, they could just use the environment file in the repo as a guideline.

| 0.6.0 | >=3.0.0,<4.0.0 | >=1.5.0 | ~1.8.1 | <3.1 | >=3.11.3,<4.0 |
| 0.5.0 | >=3.0.0,<4.0.0 | >=1.3.0 | ~1.8.1 | <3.1 | >=3.11.3,<4.0 |

Versions prior to `0.5.0` have an additional dependency on [xtl](https://github.com/xtensor-stack/xtl), [clang](https://github.com/llvm/llvm-project/) & [cppzmq](https://github.com/zeromq/cppzmq)

| `xeus-cpp` | `xeus-zmq` | `xtl` | `clang` | `pugixml` | `cppzmq` | `cpp-argparse`| `nlohmann_json` |
|------------|-----------------|-----------------|-----------|-----------|----------|---------------|-----------------|
| 0.4.0 | >=1.0.0,<2.0.0 | >=0.7.7,<0.8.0 | >=16,<17 | ~1.8.1 | ~4.3.0 | ~2.9 | >=3.6.1,<4.0 |
| 0.3.0 | >=1.0.0,<2.0.0 | >=0.7.7,<0.8.0 | >=16,<17 | ~1.8.1 | ~4.3.0 | ~2.9 | >=3.6.1,<4.0 |
| 0.2.0 | >=1.0.0,<2.0.0 | >=0.7.7,<0.8.0 | >=16,<17 | ~1.8.1 | ~4.3.0 | ~2.9 | >=3.6.1,<4.0 |
| 0.1.0 | >=1.0.0,<2.0.0 | >=0.7.0,<0.8.0 | >=16,<17 | ~1.8.1 | ~4.3.0 | ~2.9 | >=3.6.1,<4.0 |

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) to know how to contribute and set up a
Expand Down
2 changes: 1 addition & 1 deletion docs/source/InstallationAndUsage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ this environment by executing the following
.. code-block:: bash

mamba install notebook cmake cxx-compiler xeus-zmq nlohmann_json=3.11.3
jupyterlab CppInterOp cpp-argparse">=3.0,<4.0" pugixml doctest -c conda-forge
jupyterlab CppInterOp cpp-argparse pugixml doctest -c conda-forge

Now you can compile the kernel from the source by executing (replace `$CONDA_PREFIX`
with a custom installation prefix if need be)
Expand Down
2 changes: 1 addition & 1 deletion environment-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies:
- nlohmann_json=3.11.3
- CppInterOp
- pugixml
- cpp-argparse>=3.0,<4.0
- cpp-argparse
# Test dependencies
- pytest
- jupyter_kernel_test<0.8
Expand Down
Loading