Code Monkey home page Code Monkey logo

diffpy.github.io's People

Contributors

ainamacar avatar benfrandsen avatar chiahaoliu avatar connorjbracy avatar curieshicy avatar dragonyanglong avatar kevinrknox avatar pavoljuhas avatar sbillinge avatar xiaohaoyang avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

diffpy.github.io's Issues

DANSE reference(s) broken

When running the documentation generation for updating the site, the following errors occur:

(acknowledgements: line   17) broken    http://danse.us - HTTPConnectionPool(host='danse.us', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0b42e23048>: Failed to establish a new connection: [Errno 110] Connection timed out'))
(           index: line   38) broken    http://danse.us/ - HTTPConnectionPool(host='danse.us', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0b405d38d0>: Failed to establish a new connection: [Errno 110] Connection timed out'))

It appears that the DANSE project is no longer being funded and has thus been archived. There are two possible options I see for referring to it now:

  1. CalTech's archive page
  2. A Wiki page hosting a PDF describing the project

@sbillinge, please let me know which should be the new reference to replace the now defunct reference(s): http://danse.us/

Link to [vincefn.net](vincefn.net) not `https` secure

In products/diffpycmi/contents: line 71, there is a link to "https://vincefn.net/ObjCryst/" which specifies the HTTPS protocol should be used but apparently this host does not support HTTPS. The linkcheck fails as the HTTPS request cannot be satisfied, but the link can still be reached by using the protocol agnostic link vincefn.net/ObjCryst/, although users may get a warning about accessing an insecure website. Ultimately, I think providing the link with or without the inclusion of the https:// portion will still properly direct users to the intended website, but including the https:// portion causes our linkcheck validation of the documentation update to fail.

@sbillinge, let me know if it is okay to change the reference link to this "insecure" format or what else should be done instead.

Anaconda 3 vs Anaconda 2

diffpy-cmi and pdfgui can be only installed with Python 2.7.

Suggest to use of Anaconda 2.7. If 3.5 is already installed advise how to install to py27 environment. Spell out source activate py27 for Linux Mac and activate py27 for Windows.

  • diffpy-cmi instructions
  • pdfgui manual
  • pdfgui web page

`make linkcheck` doesn't work properly in current layout

See Makefile in PR #34

For some reason, the doc directory for our sources is set to ./static_root/doc but Sphinx expects it to be at ./doc and this has yet to be addressed. The effect of this discontinuity is that when Sphinx is running, it looks in the incorrect location with relative paths for static files we are serving up. This ultimately is not an issue for the functionality of the website as the links are indeed consistent in the static files generated, but it causes tests such as linkcheck to fail. For this reason, this make command has been modified to accoun for this discontinuity to preserve the validity of the test, but this change may have impact on future modifications to the website's internal structure and/or a fix for this issue, hence the in-line documentation of the problem (which gets printed to the console upon linkcheck's failure).

Here's what the make command was prior to this modification (and likely should be converted back to after addressing the issue):

$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
      "or in $(BUILDDIR)/linkcheck/output.txt."

Here's an overview of the logic for circumventing the issue:

  1. Attempt to create the symlink to the actual doc directory in the location that Sphinx expects it to be.
    1. Success
      1. Run linkcheck as we've properly configured our local structure to be what Sphinx expects.
      2. Delete the symlink hack/patch, regardless of linkcheck's success as we know we create ./doc as a symlink in (1) (as opposed to it being a directory containing its own data possibly created at a later time without knowledge of this fix).
    2. Failure
      1. Do no proceed and let this message be printed for future debugging/maintainance effors.

TODO List

  1. Are we going to host the website at www.diffpy.org or diffpy.github.io? if latter, change the description of project
  2. update conf.py, change copyright 2013 to 2014 (?)
  3. update the text in diffpycmi.rst,
    1.For projects that not in our diffpy repo, we should provide links to their homepage and (or) reference
    1. add links to documentation page of diffpy products
  4. update documentation.rst, remove Structure from User manuals section and move it to Diffpy-CMI page
  5. update index.rst
    1. update news when diffpy-CMI is released
    2. update developers
    3. update funding if we should acknowledge LDRD
  6. remove(?) pdficon_small.png under root
  7. update /downloads/diffpycmi.rst
    1. update license if necessay
    2. update the installation instructions, based on lastest release
      1. add instructions on compiling boost(?)
      2. add instructions on updating srfit using update script in release
      3. add more instructions on adding diffpy to python other than system python
  8. update /downloads/pdfgetx3.rst, update the link of the installation instructions to the page in _static(?)
  9. update /downloads/pdfgui.rst,
    1. update the community link at the bottom
    2. update the README.txt link
  10. clean or update the /_static/bugreport/(?)
  11. clean or update the /_static/doc/
    1. update pdfgetx3 documents to latest version
    2. clean srrietveld directory
    3. create directories for all CMI projects that needs redirect

Dependence on `rsync` is not platform agnostic

In the Makefile containing the make functions for updating the site, there are several uses of rsync (i.e., use 1 & use 2) which doesn't seem to be supported on Windows, WSL, nor GitBash making doing the steps for updating the website problematic for members of the group who do not have access to a Linux installation.

This issue is separately documented but would be taken care of by Issue #43

(more) DANSE reference(s) broken

Related to Issue #30, the following links are also broken when rebuilding the documentation:

(products/diffpycmi/contents: line   65) broken    http://www.reflectometry.org/danse/elements.html - 404 Client Error: Not Found for url: https://www.reflectometry.org/danse/elements.html
(products/diffpycmi/contents: line   66) broken    http://www.reflectometry.org/danse/docs/elements/ - 404 Client Error: Not Found for url: https://www.reflectometry.org/danse/docs/elements/

These links, however, do not immediately seem to have an archived counterpart. @sbillinge, please let me know what should be done about this as well.

Polish release procedure

The release steps were not entirely clear to a new dev (but have since been documented in README.md) and could be fully automated by moving the steps for publishing new releases into a GitHub action. Doing so would provide the following benefits:

  • Streamline the procedure to a minimal amount of actions needed to be done by group members
  • Self-document the steps for releasing for easy debugging should a problem arise (e.g., a changed API breaking the steps) in the future
  • Remove system-dependent requirements for certain steps of the release procedure as the steps would be carried out in a container that we know has the packages necessary to complete the process (i.e., this would resolve Issue #44)

/downloads/diffpycmi.rst

update license if necessay
update the installation instructions, based on lastest release
1. add instructions on compiling boost(?)
2. add instructions on updating srfit using update script in release
3. add more instructions on adding diffpy to python other than system python

/downloads/pdfgetx3.rst

Right now in the instructions, the URL is still point to diffpy, change them to github url (html in _static)
update the pdfgetx3 documents in _static/doc

documentation.rst

remove Structure from User manuals section and move it to Diffpy-CMI page

Running tuneconfig() in IPython console results in Attribute Error (v.2.2.1)

General Info
OS: Windows 10
Python: 3.8
pdfgetx3: 2.2.1

The error occurse when:
Running tuneconfig() in IPython console

List of commands run:

Ran:
pdfgetx3 myfile.xy --plot=gr,fq,sq

Returns:
Installed qt5 event loop hook.
Shell is already running a gui event loop for qt5. Call with no arguments to disable the current loop.
Using matplotlib backend: QtAgg

Ran:
tuneconfig()

Returns:
This is where the error occurs. It opens up the tuneconfig window, but it remains blank/white.

Traceback:
File diffpy/pdfgetx/pdfgetxapplication.py:279, in tuneconfig(self, plotids, pdfgetter, axeslist)
File diffpy/pdfgetx/tuneconfig.py:518, in createTuneConfig(pdfgetter, **kwargs)
File diffpy/pdfgetx/tuneconfig.py:123, in init(self, pdfgetter, plotids, axeslist, reset_init)
File diffpy/pdfgetx/tuneconfig.py:211, in _makeGUIFigure(self)

AttributeError: 'FigureCanvasQTAgg' object has no attribute 'set_window_title'

So I'm guessing that the issue is the use of the QtAgg backend? I have found an issue while googling that looks like it might hold the explanation for this error:
matplotlib/matplotlib#17716

The solution in that case seems to be to just not include the 'set_window_title' command.

I do not know much about Qt, but it seems like the whole thing crashes simply because the tuneconfig window title is being set to the string "tuneconfig" and the Canvas Class doesn't recognize that method.

Was that method renamed in a different version of Qt? Does tuneconfig really need a title? Do I just need to change the version of one of my python libs?
image

content suggestions for front page

*) Front page is clean, eye-catching, but obviously a stub. That's ok, minimal is good as long as it does it's job.

*) It should define the difference between diffpy and diffpy-cmi more clearly. It's two projects? Does the first paragraph describe diffpy first, then diffpy-cmi next? it's confusing. Should state what each project is, and what the goals are up front… or have one page each that does that.

index.rst

update news when diffpy-CMI is released
update list of developers
update funding if we should acknowledge LDRD

Update "Developers" Section in acknowledgements.rst

The source file acknowledgements.rst has a section "Developers" which is not an accurate list of active developers.

@sbillinge, when you get a chance, take a look at the list of members listed as "The active DiffPy development team" and let me know who should be moved to the "Former members of the project" section.

Also, I assume I should add both myself and Zach as active developers, correct?

content suggestions for CMI page

*) good that it states what the project is first. I'd say what the goal is and why you might use it in the first paragraph. Very short. Three to four sentences tops. The more reading you have to do, the more you will lose people. Tell people why the should be reading the rest of the page in the first paragraph and don't be shy about it.
Tell people why they want to be on this page, and what they are going to get if they read further and download some stuff. Often, a cool picture or so helps, as well as some simple code where people can say… "ooh cool, I want that"

*) License needs to be updated, I think.

*) The one page monolith html page is too long, and it repeats itself. You have a list of the modules, and no links to them… then at the bottom, you have links to the docs. Condense this into one place. Also why "Installation"… then link to "Linux,Unix" instead of just having it all in one place? This all might be better as more than one page… I'd at least have one page for modules developed by the team, then another page for "externally developed modules" that add additional functionality… or are dependencies. Maybe give a small blurb why you might want to use each of the CMI packages, not just what it is. Also, you could tell what using one of the "external" package adds to your abilities in the CMI context. That might easily lead into some examples in the near future. The page, as is, is boring… and it leaves me wanting to know why I am here -- again, I'd try to think about what the "best" feature of each package is, and state that instead of giving the dry description. You have most of this type of description in the README.rst files.

*) The long list of dependencies is off-putting because it's long. I almost stopped reading before I hit the "sudo apt-get install…" part and realized it's easy. I was thinking, "I'm not installing all of this". Maybe make it seem easy to install first, then
if you need to list dependencies, do that later. I'd put a "single-click" download link on the front page, and then have a separate page for all the rest of the installation jazz.

*) Note the PDFgui page is much much better, and is focused, and does much of what I suggested above. Maybe there's too much going on on the CMI page? It needs some thought. Maybe the best is to have a webpage for each of the CMI products (or at least srfit, srreal, structure, and maybe pyobjcryst). The CMI page could then be of a more singular focus -- community-building: CMI-exchange (of software) and 'CMI-exchange' of ideas/information/support (through the 'groups' and other contact mechanisms).

/downloads/pdfgui.rst

update the community link at the bottom (currently borken)
update the README.txt link (in Unix, Linux, Mac section)

xPDFsuite Linux install issue with GLIB_PRIVATE

I try to install xPDFsuite on Linux Ubuntu 22.04, and I get the following error message during the ./Install:
Python27/bin/python: symbol lookup error: /mydirectory/Python27/bin/../lib/libm.so.6: undefined symbol: __get_cpu_features, version GLIBC_PRIVATE
Any possible fix for that? Sorry if it is a trivial error...

diffpycmi.rst

For projects that not in our diffpy repo, we should provide links to their homepage and (or) reference

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.