Skip to content
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
6 changes: 3 additions & 3 deletions app-next/src/app/[locale]/(learn)/contribute/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,8 @@ export default async function ContributePage({
icon: Code,
},
{
label: "Docs",
href: "https://docs.openml.org/Website/",
label: "Developer docs",
href: "https://docs.openml.org/contributing/website/Website/",
icon: BookOpen,
},
].map((item) => (
Expand Down Expand Up @@ -332,7 +332,7 @@ export default async function ContributePage({
</div>
<div className="flex flex-wrap gap-2">
<Link
href="https://docs.openml.org/Website/"
href="https://docs.openml.org/contributing/website/Website/"
target="_blank"
>
<Button
Expand Down
36 changes: 27 additions & 9 deletions app-next/src/app/api/proxy-file/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,14 @@ export async function GET(request: NextRequest) {
}

try {
// Forward the client's Accept-Encoding to avoid serving gzip/brotli to
// clients that can't handle it (fixes #367)
const clientEncoding = request.headers.get("accept-encoding") || "identity";

const response = await fetch(url, {
headers: {
"User-Agent": "OpenML-NextApp/1.0",
"Accept-Encoding": clientEncoding,
},
});

Expand All @@ -64,26 +69,39 @@ export async function GET(request: NextRequest) {
upstreamContentType.includes("octet-stream") ||
upstreamContentType.includes("parquet");

// Pass through content-encoding so the client knows if it's compressed
const contentEncoding = response.headers.get("content-encoding");

if (isBinary) {
// Binary response (parquet files)
const buffer = await response.arrayBuffer();
const binaryHeaders: Record<string, string> = {
"Content-Type": "application/octet-stream",
"Content-Length": buffer.byteLength.toString(),
"Cache-Control": "public, max-age=86400",
"Vary": "Accept-Encoding",
};
if (contentEncoding) {
binaryHeaders["Content-Encoding"] = contentEncoding;
}
return new NextResponse(buffer, {
status: 200,
headers: {
"Content-Type": "application/octet-stream",
"Content-Length": buffer.byteLength.toString(),
"Cache-Control": "public, max-age=86400",
},
headers: binaryHeaders,
});
} else {
// Text response (ARFF, CSV, predictions)
const text = await response.text();
const textHeaders: Record<string, string> = {
"Content-Type": upstreamContentType,
"Cache-Control": "public, max-age=3600",
"Vary": "Accept-Encoding",
};
if (contentEncoding) {
textHeaders["Content-Encoding"] = contentEncoding;
}
return new NextResponse(text, {
status: 200,
headers: {
"Content-Type": upstreamContentType,
"Cache-Control": "public, max-age=3600",
},
headers: textHeaders,
});
}
} catch (error) {
Expand Down
2 changes: 1 addition & 1 deletion app-next/src/components/layout/footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ export function Footer() {
</li>
<li>
<a
href="docs.openml.org/pytorch/"
href="https://docs.openml.org/pytorch/"
className="text-slate-400 transition-colors hover:text-white"
target="_blank"
rel="noopener noreferrer"
Expand Down
118 changes: 59 additions & 59 deletions server/src/client/app/src/pages/docs/GetInvolved.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
Paper,
CardContent,
Grid,
Chip,
Chip,
Fab,
Link,
List,
Expand All @@ -24,7 +24,7 @@ import { animated } from '@react-spring/web';
import useBoop from "../../components/Boop.js";

const OpenMLDove = (props) => {
const [style, trigger] = useBoop({ rotation: -45, scale:3, x:50, y:-50, timing: 300 });
const [style, trigger] = useBoop({ rotation: -45, scale: 3, x: 50, y: -50, timing: 300 });
style.color = props.color;
style.display = "inline-block";
style.paddingLeft = 20;
Expand Down Expand Up @@ -107,7 +107,7 @@ const ContactChip = ({ link, icon, text }) => {
size="lg"
style={{ marginLeft: 10, marginRight: 0 }}
/>
}
}
component="a"
href={link}
label={text}
Expand Down Expand Up @@ -166,25 +166,25 @@ export default class GetInvolved extends React.Component {
Sponsorship
</TopLink>
</List>
<Zoom in={true} style={{ transitionDelay: '1000ms'}}>
<ContactButton color="secondary" size="medium" style={{ right: 16}}
<Zoom in={true} style={{ transitionDelay: '1000ms' }}>
<ContactButton color="secondary" size="medium" style={{ right: 16 }}
href="https://opencollective.com/openml" target="_blank">
<FontAwesomeIcon icon="donate" size="lg"/>
<FontAwesomeIcon icon="donate" size="lg" />
</ContactButton>
</Zoom>
<HeroTitle variant="h3" align="center">
<OpenMLDove color={red[500]} />
<OpenMLDove color={yellow[800]} />
<OpenMLDove color={green[500]} />
<OpenMLDove color={blue[500]} />
<HeroSubTitle style={{paddingTop:20}}>
<OpenMLDove color={red[500]} />
<OpenMLDove color={yellow[800]} />
<OpenMLDove color={green[500]} />
<OpenMLDove color={blue[500]} />
<HeroSubTitle style={{ paddingTop: 20 }}>
Here's to the crazy ones. The open science rebels.<br />
The ones who believe that machine learning should be set free.<br />
They're not fond of the hype, and they have no respect for irreproducible results.<br />
They believe that with openness, we can push the human race forward.<br />
Because by combining the best data, tools, methods, and ideas,<br />
we can change the world, together.
</HeroSubTitle>
</HeroSubTitle>
</HeroTitle>
<Card>
<CardContent>
Expand All @@ -195,29 +195,29 @@ export default class GetInvolved extends React.Component {
The people who contribute to OpenML do so for the love of machine learning and because they want to help build a more
inclusive and frictionless ecosystem of data, tools and clear results. You can contribute in different ways:
</Paragraph>
<List component="nav" style={{marginTop:0, paddingTop:0, paddingBottom:0}}>
<List component="nav" style={{ marginTop: 0, paddingTop: 0, paddingBottom: 0 }}>
<ContactLink
icon="hand-holding-heart"
link="contribute#help"
color={red[500]}
text="Help us improve the OpenML platform and interfaces."
/>
icon="hand-holding-heart"
link="contribute#help"
color={red[500]}
text="Help us improve the OpenML platform and interfaces."
/>
<ContactLink
icon="hand-holding-usd"
link="contribute#sponsor"
color={green[500]}
text="Make a donation to support our community and keep OpenML free."
/>
icon="hand-holding-usd"
link="contribute#sponsor"
color={green[500]}
text="Make a donation to support our community and keep OpenML free."
/>
<ContactLink
icon="hand-holding-medical"
link="contribute#help"
color={blue[500]}
text="Share new interesting datasets, models, and experiments."
/>
</List>
</CardContent>
</CardContent>
</Card>
<Grid container spacing={4} style={{marginTop:20}}>
<Grid container spacing={4} style={{ marginTop: 20 }}>
<Grid item style={{ display: "flex" }} xs={12} md={6} lg={3}>
<Card style={{ width: "100%" }}>
<CardContent>
Expand All @@ -229,7 +229,7 @@ export default class GetInvolved extends React.Component {
/>
Are you a developer?
</Typography>
<Paragraph style={{paddingBottom:0}}>
<Paragraph style={{ paddingBottom: 0 }}>
We want to make OpenML ridiculously easy to use and empowering.{" "}
<Link href="contribute#help">Contribute your skill and expertise</Link>{" "}
to make OpenML better for you and others, either online (on GitHub)
Expand All @@ -250,11 +250,11 @@ export default class GetInvolved extends React.Component {
/>
Are you a scientist?
</Typography>
<Paragraph style={{paddingBottom:0}}>
<Paragraph style={{ paddingBottom: 0 }}>
We want to empower people to change the world for the better.
You can help by contributing useful datasets and machine learning
pipelines, or by <Link href="contribute#help">extending OpenML to make it more useful in
science and discovery</Link>.
science and discovery</Link>.
</Paragraph>
</CardContent>
</Card>
Expand All @@ -269,12 +269,12 @@ export default class GetInvolved extends React.Component {
style={{ color: green[800], marginRight: 20 }}
/>
<b>Do you want to help?</b>
</Typography>
<Paragraph style={{paddingBottom:0}}>
</Typography>
<Paragraph style={{ paddingBottom: 0 }}>
OpenML depends on all of us. You can help keep OpenML free and support our community by{" "}
<Link href="contribute#sponsor">making a donation</Link> (no pressure). You can also
<Link href="contribute#sponsor">making a donation</Link> (no pressure). You can also
join us at an OpenML event, or organize one yourself!
Or maybe you have another great idea? Please don't hesitate to reach out!
Or maybe you have another great idea? Please don't hesitate to reach out!
</Paragraph>
</CardContent>
</Card>
Expand All @@ -290,9 +290,9 @@ export default class GetInvolved extends React.Component {
/>
Are you an executive?
</Typography>
<Paragraph style={{paddingBottom:0}}>
OpenML helps your team to discover machine learning assets and
automate processes, so that they can focus on what matters. You can encourage your developers to help out, host a coding sprint,{" "}
<Paragraph style={{ paddingBottom: 0 }}>
OpenML helps your team to discover machine learning assets and
automate processes, so that they can focus on what matters. You can encourage your developers to help out, host a coding sprint,{" "}
<Link href="contribute#sponsor">become an official sponsor</Link>, or <Link href="contribute#sponsor">partner with us</Link>. We'd love to work with you!
</Paragraph>
</CardContent>
Expand Down Expand Up @@ -326,7 +326,7 @@ export default class GetInvolved extends React.Component {
</Typography>
<List component="nav">
<ContactChipFull
link="https://docs.openml.org/Website/"
link="https://docs.openml.org/contributing/website/Website/"
icon="book-open"
text="Developer docs"
/>
Expand Down Expand Up @@ -376,7 +376,7 @@ export default class GetInvolved extends React.Component {
</Typography>
<List component="nav">
<ContactChipFull
link="https://docs.openml.org/Website/"
link="https://docs.openml.org/contributing/website/Website/"
icon="book-open"
text="Website docs"
/>
Expand Down Expand Up @@ -480,26 +480,26 @@ export default class GetInvolved extends React.Component {
</Grid>
<HeroTitle variant="h3" align="center" id="sponsor">
<ListIcon
icon={["fab","angellist"]}
icon={["fab", "angellist"]}
size="lg"
style={{ color: blue[500], marginTop: 40 }}
/>
<br />
Support the OpenML community
</HeroTitle>
<Card>
<CardContent>
<CardContent>
<Paragraph>
Hi, we could use your help. By making a small donation, you help us run coding sprints and outreach activities, keep our
community happy and engaged, and ensure that we have the basic infrastructure to keep the platform free for everyone.
community happy and engaged, and ensure that we have the basic infrastructure to keep the platform free for everyone.
Also, if OpenML sometimes sucks, we promise to do better!
We use the <Link href="https://opencollective.com/openml">Open Collective</Link> model
to accept donations, so we can celebrate you in our hall of fame as an official backer, and be fully
transparent on how your contributions are used to support OpenML. Please click the button below. Thank you so much!
</Paragraph>
<Paragraph style={{paddingBottom:0}}>
<Paragraph style={{ paddingBottom: 0 }}>
<a href="https://opencollective.com/openml" target="_blank" rel="noreferrer">
<img src="https://opencollective.com/openml/donate/button@2x.png?color=blue" width="265" alt="OpenCollective button"/>
<img src="https://opencollective.com/openml/donate/button@2x.png?color=blue" width="265" alt="OpenCollective button" />
</a>
</Paragraph>
</CardContent>
Expand All @@ -520,22 +520,22 @@ export default class GetInvolved extends React.Component {
</Typography>
<Paragraph>
Simply put, without our generous sponsors, OpenML would not be able
to make all its resources and services available <b>for free</b> to
the entire world.
to make all its resources and services available <b>for free</b> to
the entire world.
By donating to OpenML you further the project's mission to democratize
machine learning research.
Your donations will be used to run engaging community events (which require venues,
catering and thank-you packages), to enable internships, and to maintain and improve our platform services,
Your donations will be used to run engaging community events (which require venues,
catering and thank-you packages), to enable internships, and to maintain and improve our platform services,
which requires compute and storage infrastructure, as well as technical development
and maintenance. With your support, we can bring OpenML to the next level, together!
</Paragraph>
<Typography variant="h5" gutterBottom>
How do you want to work with us?
</Typography>
<Paragraph style={{paddingBottom:0}}>
We are open to many forms of sponsorship, both in kind and in cash. Rather than providing fixed sponsorship levels,
we would love to hear from you and learn how we could better align with your goals. Below are examples of possible benefits,
but we are open to new ideas to collaborate with you.
<Paragraph style={{ paddingBottom: 0 }}>
We are open to many forms of sponsorship, both in kind and in cash. Rather than providing fixed sponsorship levels,
we would love to hear from you and learn how we could better align with your goals. Below are examples of possible benefits,
but we are open to new ideas to collaborate with you.
</Paragraph>
<List dense>
<ListItem>
Expand Down Expand Up @@ -625,27 +625,27 @@ export default class GetInvolved extends React.Component {
</List>
<Typography variant="h1" gutterBottom my={4}>
<ContactChipFull
link="mailto:openmlhq@googlegroups.com"
icon="envelope"
text="Get in touch"
style={{ backgroundColor: purple[700], marginRight: 20 }}
/>
link="mailto:openmlhq@googlegroups.com"
icon="envelope"
text="Get in touch"
style={{ backgroundColor: purple[700], marginRight: 20 }}
/>
</Typography>
<Typography variant="h5" gutterBottom>
Where can I make a donation?
</Typography>
<Paragraph>
We use the <Link href="https://opencollective.com/openml">Open Collective</Link> model to accept sponsorships. Click the button below to get started.
All sponsors and the amount of sponsoring are acknowledged in our hall of fame, and we'll be fully transparent on how your sponsorship makes OpenML better every day.
All sponsors and the amount of sponsoring are acknowledged in our hall of fame, and we'll be fully transparent on how your sponsorship makes OpenML better every day.
This collective is fiscally hosted by our not-for-profit <Link href="about#foundation">Open Machine Learning Foundation</Link>. If preferred, you can also
donate directly to the Foundation.
</Paragraph>
<Paragraph style={{paddingBottom:10}}>
<Paragraph style={{ paddingBottom: 10 }}>
<a href="https://opencollective.com/openml" target="_blank" rel="noreferrer">
<img src="https://opencollective.com/openml/donate/button@2x.png?color=blue" width="265" alt="OpenCollective button"/>
<img src="https://opencollective.com/openml/donate/button@2x.png?color=blue" width="265" alt="OpenCollective button" />
</a>
</Paragraph>
<Paragraph style={{paddingBottom:0}}>Thank you!</Paragraph>
<Paragraph style={{ paddingBottom: 0 }}>Thank you!</Paragraph>
</CardContent>
</Card>
</MainPaper>
Expand Down